Отключить rewriterul для страницы - PullRequest
0 голосов
/ 11 июля 2011

У меня есть файл htaccess, вот он:

php_flag magic_quotes_gpc off
php_flag register_globals off
php_value max_execution_time 100
ErrorDocument 404 /index.php?key=404
RewriteEngine On

RewriteCond %{HTTP_HOST} !^humor\.mysite\.ru$
RewriteRule .* http://humor.mysite.ru%{REQUEST_URI} [R=301,L]

# Index Page
RewriteRule ^index\.html$ index.php [L]
RewriteRule ^index\.htm$ index.php [L]

# Humor
RewriteRule ^humor([0-9]+)\.html$ index.php?key=humor&id=$1 [L]
RewriteRule ^humor([0-9]+)-([0-9]+)\.html$ index.php?key=humor&af=$1&page=$2 [L]
RewriteRule ^top_week.html$ index.php?key=humor&af=2 [L]
RewriteRule ^top_monthe.html$ index.php?key=humor&af=3 [L]
RewriteRule ^random.html$ index.php?key=humor&af=4 [L]
RewriteRule ^top.html$ index.php?key=traffic&tr=1 [L]

# Common
RewriteRule ^humor/rate\.html$ index.php?key=humor&af=1; [L]
RewriteRule ^add\.html$ index.php?key=humor&add=1; [L]
RewriteRule ^humor/category([0-9]+)\.html$ index.php?key=humor&cat=$1 [L]
RewriteRule ^humor/category([0-9]+)-([0-9]+)\.html$ index.php?key=humor&cat=$1&page=$2 [L]

# Admin Area
RewriteRule ^admin/$ index.php?key=login  [L]
RewriteRule ^admin$ index.php?key=login  [L]

# Default
RewriteRule ^([a-zA-Z_0-9\-]+)\.html$ index.php?key=$1  [L]
RewriteRule ^contest.html$ contest.html [L]

И у меня есть файл подтверждения Google для веб-мастеров, поэтому, когда я добавляю файл в корневой каталог и пытаюсь посмотреть, что внутри, бросить браузер-серверперенаправьте меня на index.php, но он должен показать мне этот файл

1 Ответ

0 голосов
/ 11 июля 2011

Порядок правил имеет значение . Ваша последняя строка НИКОГДА не будет выполнена, потому что предыдущее правило перенаправит все файлы .html в index.php.

Попробуйте эти строки (вы можете безопасно удалить самую последнюю строку дляtest.html):

# Default
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z_0-9\-]+)\.html$ index.php?key=$1 [L]

Или добавьте эти строки после правил перенаправления домена и перед # Index Page block

# Do not do anything for already existing files or folders
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]
...