Переписать www.mydomain.com/index.php на www.mydomain.com - PullRequest
2 голосов
/ 18 января 2011

Я нашел два разных способа перенаправления из index.php / index.html в домен. Оба, кажется, работают; ни один из них не заканчивается в цикле:

RewriteEngine On
RewriteRule ^index\.(php|html?)$ http://www.martin-thoma.de/terminplaner/ [R=301,L]

и

RewriteEngine On
RewriteCond %{IS_SUBREQ} false
RewriteRule ^index\.(php|html?)$ http://www.martin-thoma.de/terminplaner/ [R=301,L]

изменить: вот еще одно правило:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
RewriteRule ^index\.(html?|php)$ http://www.martin-thoma.de/terminplaner/ [R=301,L]

В чем разница между этими тремя методами переписывания? Что я должен использовать?

Вот часть руководства :

IS_SUBREQ будет содержать текст "true" если запрос в настоящее время обработан подзапрос "false" иначе. Подзапросы могут быть генерируется модулями, которые должны разрешить дополнительные файлы или URI в Для того чтобы выполнить свои задачи.

1 Ответ

1 голос
/ 18 января 2011

Конечно, ваш .htaccess находится не в каталоге http://www.martin-thoma.de/terminplaner/.Итак, они работают:)

В любом случае, вы видите, что первый довольно прост.И это работает.Для второго IS_SUBREQ всегда ложно (при условии, что никакое другое правило перезаписи не переводит что-то еще в index.php или index.html. Таким образом, оно работает также.

Эта страница поможет вам понять, когда IS_SUBREQ имеет значение true. На этой странице есть пример.

Если у вас нет другого правила, вы можете очень безопасно использовать первое (без RewriteCond)

...