2011-09-21 60 views
0

我一直在努力尝试,并找不到解决方案,这肯定很容易。我有规则mod_rewrite - 除静态文件夹以外的所有索引

RewriteEngine on 
RewriteRule (.*) index.php [L] 

所以它重定向所有URL的index.php,现在我希望所有的文件预计这种静态文件夹重定向,所以像domain.com/static网址/ ...不会被重定向。我试过,例如:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^static$ 
RewriteRule (.*) index.php [L] 

RewriteEngine on 
RewriteRule static/(.*) static/$1 [L] 
RewriteRule (.*) index.php [L] 

和其他一些变化,但似乎没有任何工作...

+0

你最后的规则集对我来说看起来是否正确,你是否尝试[R,L]而不是[L]? –

+0

[R,L]不起作用... – f1ames

回答

2

在您正则表达式,使用负前瞻

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^(?!/static/).+ [NC] 
RewriteRule (.*) index.php [L] 
+0

你确定它有效吗?如果答案是“是”,这意味着我的服务器不喜欢我...... – f1ames

+0

我在IIS服务器上使用mod_rewrite的ISAPI插件测试了它。它应该和apache的语法相同。如果对你没有好处,在“静态”之前不要使用斜线。如果仍然不好,我会收回我的答案:-( – Jamey

+0

哦,无论我的重写规则是否有效,我很确定你的服务器恨你 – Jamey

相关问题