我在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 中。有什么办法可以阻止这种情况吗?提前谢谢。
不要混淆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]