我在.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
时,我不希望这种情况发生!
答案 0 :(得分:4)
只需在您想要例外的所有规则前添加:
RewriteCond %{REQUEST_URI} !^/stats
您不想重定向任何其他URI。您可以将它们全部包含在同一个正则表达式中:
RewriteCond %{REQUEST_URI} !^/(stats|something|example|test)