ModRewrite重定向的异常?

时间:2012-01-22 09:52:54

标签: .htaccess exception mod-rewrite redirect

我在.htaccess文件中使用以下几行来从每个/something重定向到/#!/something网址。所以我重定向到一个哈希,所以我可以用javascript捕获它。这完全没问题......

RewriteEngine on
# not existing file (images, css, etc)
RewriteCond %{REQUEST_FILENAME} !-f
# no query parameters
RewriteCond %{QUERY_STRING} =""
# not /
RewriteCond %{REQUEST_URI} !^/$
# R=redirect, NE=dont escape #, L=last rule
RewriteRule ^(.*)$ /#!/$1 [R,NE,L]
# same but with query parameter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)$ /?%{QUERY_STRING}#!/$1 [R,NE,L]

有没有办法让它有例外。例如。当我进入www.test.com/stats时,我不希望这种情况发生!

1 个答案:

答案 0 :(得分:4)

只需在您想要例外的所有规则前添加:

RewriteCond %{REQUEST_URI} !^/stats

您不想重定向任何其他URI。您可以将它们全部包含在同一个正则表达式中:

RewriteCond %{REQUEST_URI} !^/(stats|something|example|test)