2016-04-27 332 views
2

我试图制定一个Wordpress重写规则,这是我第一次这样做。我有一些结果,但不是我期望的结果。Wordpress重写网址

在我的网站上,我有许多类别的博客(美容,旅游等)。而无需重写URL是下一个:

http://mywebsite.com/blog/?cat=10 //where 10 is the category of Beauty. 

我希望它是这样的:

http://mywebsite.com/blog/beauty 

这是我写的规则:

add_rewrite_rule('blog/?$?', 'index.php?cat=$matches[1]', 'top'); 

有了这个规则,它被翻译到:

http://mywebsite.com/category/beauty/ 

我猜我非常接近解决方案,但我不知道如何得到它。

非常感谢您的支持。

回答

1

您通常不应该在Wordpress unless you do it the Wordpress way中做自定义URL rewiting。 WordPress通常将所有请求重新路由到index.php,然后根据url加载正确的内容。自定义规则可能会中断此过程并导致根本没有内容加载。

这些类别默认情况下应该显示为http://mywebsite.com/blog/category/{{your-slug}}/。如果您希望这些类别在没有/category/的情况下出现,您可以查看各种支持此功能的SEO插件(如YOAST)之一。您只需更改posts > categories中的字段,就可以使用您想要的任何类别slu text文本。

编辑

在我以前的答案,我认为WordPress的是安装在http://mywebsite.com/blog/。如果Wordpress网站的网址是http://mywebsite.com/,则可以使用父 - 子类别完成如下网址:http://mywebsite.com/category/blog/{{your-slug}}/。使blog成为blog的一个类别和所需类别child category

为了去除领先category你会在settings > permalinks使用自定义固定链接结构:

设置自定义结构:/%postname%/

设定的分类基础。

+0

URL中包含或不包含“/ category /”是可选的。主要问题是“/ blog /”没有出现。 – borjacastillo

+0

你的Wordpress网站的主页在哪里?它是'http:// mywebsite.com /'还是'http:// mywebsite.com/blog'?我假设你在一个子目录中安装了Wordpress。 –

+0

主页是“http://mywebsite.com/” – borjacastillo