我正在尝试将一些现有的 mod_rewrite 查询重定向到更好的对应查询,但遇到了一个问题,它将页面的变量附加到 URL 的末尾。
例如,
/garden/garden-benches/cat_199.html
正变成:
/garden-furniture/patio-furniture/garden-benches-garden-seats/cat_199.html?_a=viewCat&catId=199
我只是不希望最后这些变量。
代码是:
RewriteEngine On
Redirect 301 /garden/garden-benches/cat_199.html http://www.sustainable-furniture.co.uk /garden-furniture/patio-furniture/garden-benches-garden-seats/cat_199.html
.htaccess 文件的其余部分 - 首先是创建 url。
RewriteBase /
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule cat_([0-9]+)(\.[a-z]{3,4})?(.*)$ index.php?_a=viewCat&catId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule prod_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=viewProd&productId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule info_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=viewDoc&docId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule tell_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=tellafriend&productId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule _saleItems(\.[a-z]+)?(\?.*)?$ index.php?_a=viewCat&catId=saleItems&%1 [NC,L]