将变量添加到URL的htaccess问题

时间:2013-10-23 21:04:04

标签: php .htaccess mod-rewrite redirect

我在使用htacess时遇到了一些问题。 我需要重定向几页,但似乎规则是冲突的。

我有:

RewriteRule ^doors/([^/\.]+)/([^/\.]+)/?$ products.php?c=$1&p=$2 [L]

作为一项规则然后我得到了:

Redirect 301 /doors/door-frames-and-mouldings/hardwood-door-frames---exterior  http://www.domain.co.uk/doors/door-frames-and-mouldings&sub=hardwood-door-frames

我遇到的问题是它正在重定向到URL:http://www.domain.co.uk/doors/door-frames-and-mouldings&sub=hardwood-door-frames?c=door-frames-and-mouldings&p=hardwood-door-frames---exterior - 所以它只是将旧变量附加到新URL中。有没有办法阻止这个? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

不要混用mod_rewrite和mod_alias规则。只通过mod_rewrite规则执行。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^doors/([^/.]+)/([^/.]+)/?$ products.php?c=$1&p=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^doors/door-frames-and-mouldings/hardwood-door-frames---exterior http://www.domain.co.uk/doors/door-frames-and-mouldings&sub=hardwood-door-frames? [L,R=301,NC]