htaccess正则表达式通配符重定向覆盖其他重定向

时间:2011-04-12 18:59:59

标签: regex .htaccess redirect rewrite rule

我目前在htaccess中有以下重定向,我需要添加两个新的重定向。虽然看起来最后一个通配符重定向覆盖了我试图添加的两个新重定向。我该如何纠正?有什么建议?谢谢。


RewriteEngine On

RewriteCond%{HTTP_HOST} ^ mydomain.com

RewriteRule(。*)http://www.mydomain.com/ $ 1 [R = 301,L]

RewriteRule ^。*。(jpe?g | gif | png | bmp | ico | swf | gz | xml | htm?l | pem | txt)$ - [L]

RewriteCond%{SCRIPT_FILENAME}!^ apanel / *

RewriteRule ^(。*)process.php [L]


我想添加的新重定向如下:

RewriteRule ^ cs /(.*。css)/shared.php?type=css&files=$1

RewriteRule ^ jscript /(.*。js)/shared.php?type=js&files=$1

1 个答案:

答案 0 :(得分:0)

当我读到它时,你的最后一个RewriteCond / RewriteRule说“如果文件名不在'apanel'文件夹中,则将其重定向到process.php并停止”。您的两个新规则将首先匹配该规则,mod_rewrite将停止处理其他指令。

如果你将两个新规则置于最后一个Cond / Rule组合之上并使用[L]标志,它们应该正常工作....