添加_重写_规则以从固定链接中删除/CATEGORY/

时间:2013-08-12 作者:atwellpub

我的网站上有许多永久链接,如下所示:

http://www.example.com/market/category/slug-here/
想藏起来/category/ 对于包含它的所有永久链接,如下所示:

http://www.example.com/market/slug-here/
我试图使用以下规则,但没有成功。有人知道为什么吗?

add_rewrite_rule(\'market/(.*)\', \'market/$matches[1]\', \'top\');
我已经验证了正在添加htaccess。但不会发生重定向。

注:

我已经离开了这个项目。当其他人确认答案有效时,我将考虑选择最佳答案。

3 个回复
SO网友:Mark Davidson

我相信你想要改变的重写规则是

category/(.+?)/?$ index.php?category_name=$matches[1] category
要执行您想要的操作,只需在functions.php

add_rewrite_rule(\'(.+?)/?$\', \'index.php?category_name=$matches[1]\', \'top\');
这应该有效,但可能与其他规则冲突,因此值得检查。

SO网友:ian

如果您希望快速完成此操作,我会说只需使用WordPress SEO Plugin 由Yoast提供。您可以在选项面板的“Permalinks”下找到禁用类别库的选项。

我做了一个屏幕截图,但我不能给你看。我刚开始使用这个网站。无论如何,如果您决定使用该插件,该选项就位于“永久链接”的顶部。

SO网友:Ethan O\'Sullivan

将以下内容添加到.htaccess 文件位于<IfModule mod_rewrite.c> WordPress创建的标记:

RewriteCond %{HTTP_HOST}
RewriteRule ^market/(.*)/(.*)$ market/$2 [R=301]
您的.htaccess 如果未被其他插件修改,则应如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Custom Rewrite
RewriteCond %{HTTP_HOST}
RewriteRule ^market/(.*)/(.*)$ market/$2 [R=301]
</IfModule>
# END WordPress
因此,它将执行以下操作:

http://www.example.com/market/category/slug-here
重定向到:

http://www.example.com/market/slug-here

结束

相关推荐

.htaccess重定向无法正常工作[?utm_source=]

我有一个wordperss博客。这个博客有两个域名(example1.com和example2.com)。在我的情况下,示例1。com重定向到示例2。com。此重定向工作正常。我看到Google机器人不断索引我的Feedbuner和Wordpress RSS提要utm\\u源URL参数。然后,我向添加了以下代码。htaccess文件,高于mod\\u重写规则。<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUER