在.htaccess中将“redirect永久”优先于mod_rewrite

我已经组织了我的巨大.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转换为重写,并将其添加到列表的头部或重写。