htaccess - перенаправление всех запросов в корень домена - PullRequest
9 голосов
/ 15 марта 2011

У меня есть сайт, который больше не нужен, в режиме реального времени и у которого есть настройка удерживающей страницы, чтобы заявить, что он больше не доступен. Все запросы к страницам на сайте (в закладки или иным образом) необходимо отправлять на эту страницу, которая является корневой страницей index.php, поэтому я использую htaccess для ее перенаправления соответствующим образом.

Я сейчас использую это:

RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ /index.php [R=302,NC,L]

, который делает работу, но добавляет index.php к URL - т.е. www.domain.com переходит на www.domain.com/index.php

Было бы намного лучше иметь только www.domain.com, но, очевидно, я не могу сделать это, используя:

RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)$ / [R=302,NC,L]

Это дает странице, не перенаправляющую должным образом ошибку в Firefox.

Я ожидал, что вышеизложенное проверит, чтобы увидеть, не является ли REQUEST_URL / - т.е. www.domain.com, а затем перенаправить его на / например. www.domain.com/dave.php -> www.domain.com - таким образом, www.domain.com проходит, но все остальное перенаправляется ... что он на самом деле делает и как заставить его делать то, что я хочу

Ответы [ 2 ]

14 голосов
/ 29 марта 2011

Просто используйте его так:

RewriteRule ^.+$ / [R=302,NC,L]

Он перенаправит все, что не соответствует / только на /.

0 голосов
/ 11 апреля 2011

Ваша проблема решена? Если нет, то пробовали ли вы:

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . /index.php [L]
...