我已经组织了我的巨大.htaccess文件通过redirect永久优先,我想执行,如果发现。 在这种情况下,我不想以后mod_rewrite处理。
有什么办法可以实现吗?
例子:
Redirect permanent /products/example.aspx http://www.example.com/products/example/ RewriteCond %{REQUEST_URI} products/([1-9a-zA-Z\s-]+)/ RewriteRule ^products/([0-9a-zA-Z\s-]+)/tutorials(/|\.php)$ /products/$1/help/ [R=permanent,L]
虽然上面没有冲突,我的.htaccess文件是60k大,有一些简单的“redirect永久”似乎被忽略,因为后来的RewriteRules(即redirect模式,而不是)
将“redirect”语句放在.htaccess文件的“RewriteRule”之前并不意味着它们会先执行。 RewriteRules在Redirect和Alias指令之前被执行。 它们由不同的模块处理,mod_rewrite首先被调用。 出于这个原因,我有时使用重写来短路所有的别名和redirect语句。
我build议不要混合redirect和重写,并将redirect转换为重写,并将其添加到列表的头部或重写。