301重定向查询字符串 - woocommerce产品

时间:2015-05-29 15:13:18

标签: wordpress apache .htaccess mod-rewrite redirect

这是我已经停滞了好几天的问题。 我的设置是安装了Woocommerce的Wordpress。永久链接结构非常有用,所以我只需要将旧URL重定向到新URL。

旧网址结构如下所示: http://domain.tld/?product=bla-bla

但我需要他们像这样重定向: http://domain.tld/product/bla-bla

* bla-bla是动态部分。

.htaccess中的规则:

RewriteCond %{QUERY_STRING} ^product=(.*)$ [NC]
RewriteRule ^$ /product/%1 [NC,L,R=301]

但结果是错误的: http://domain.tld/product/bla-bla?product=bla-bla

.htaccess的内容:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{QUERY_STRING} ^product=(.*)$ [NC]
RewriteRule ^$ /product/%1 [NC,L,R=301]

我将不胜感激任何帮助!

1 个答案:

答案 0 :(得分:2)

这样做:

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^product=(.*)$ [NC]
RewriteRule ^$ /product/%1? [NC,L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
目标末尾的

?将从原始网址中删除任何查询字符串。