如何重写url删除slug / product /

时间:2020-01-10 08:28:02

标签: wordpress .htaccess

我有一个示例链接:

https://stackoverflow.com/test/index.php/product/01-00030am-1a1y

我要删除/ product变成

https://stackoverflow.com/test/index.php/01-00030am-1a1y

这是.htaccess

RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ test/index.php/$2 [R=301]

但是它永远无法正常工作,如何解决

1 个答案:

答案 0 :(得分:0)

我相信它的$1不是$2

$2将引用您尚未设置的第二个匹配组。试试:

RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ /test/index.php/$1 [R=301,L]

[L]标志使mod_rewrite停止处理规则集。在大多数情况下,这意味着如果规则匹配,将不再处理其他规则。 Docs

检查herehere,以获取有关.htaccess规则的更多信息。

还请确保您拥有mod_rewrite on,否则将无法使用。如果没有,我想您可以将其添加到您的.htaccess中

RewriteEngine On

RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ /test/index.php/$1 [R=301,L]

或者,如果您使用的是WooCommerce,请尝试使用woo-permalink-manager插件。