我试图重定向大量的404。
一些旧网站链接到
http://example.com/product.tmpl?SKU=XXX
XXX
是数字SKU编号。
我希望它重定向到
http://example.com/product.php?SKU=XXX
这是我已经到过的地方,但它仍然无法正常工作。我的代码中是否有拼写错误?
RewriteEngine On
RewriteCond %{QUERY_STRING} ^SKU=([^&]+)
RewriteRule ^/?product\.tmpl$ /product.php?SKU=%1 [L,R=301]
编辑:我的完整htaccess文件内容如下:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^SKU=([^&]+)
RewriteRule ^/?product\.tmpl$ /product.php?SKU=%1 [L,R=301]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
答案 0 :(得分:0)
试试吧:
RewriteRule ^/?product\.tmpl$ /product.php [L,QSA]
修饰符QSA保留查询字符串的任何内容:http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa