Исключение для редиректа ModRewrite? - PullRequest
0 голосов
/ 22 января 2012

Я использую следующие несколько строк в моем файле .htaccess для перенаправления с каждого /something на /#!/something URL. Так что я перенаправляю на хеш, чтобы я мог поймать его с помощью 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 Ответ

4 голосов
/ 22 января 2012

Просто добавьте это перед всеми правилами, для которых вы хотите сделать исключение:

RewriteCond %{REQUEST_URI} !^/stats

И любые другие URI, которые вы не хотите перенаправлять. Вы можете включить их все в одно и то же регулярное выражение:

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