|
|
|
| Подскажите пожалуйста, как правильно сделать редирект, чтобы когда обращаются к сайту по адресу http://site.ru/index.php, происходил бы внутренний редирект и в адресной строке было бы http://site.ru/
Какой конкретно строкой в htaccess это можно осуществить?
(index.php - стартовая страница). | |
|
|
|
|
|
|
|
для: Владимир55
(12.12.2011 в 15:50)
| | Этого нельзя сделать, дело в том, что при составлении правила, все-равно остается адрес http://site.ru/index.php, к которому Apache должен иметь доступ, чтобы правильно отобразить http://site.ru/. | |
|
|
|
|
|
|
|
для: cheops
(12.12.2011 в 16:18)
| | Ну да, я так и подумал, что он зациклится...
Спасибо! | |
|
|
|
|
|
|
|
для: Владимир55
(12.12.2011 в 16:40)
| | Вроде бы, работает вот так:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php\ HTTP/ [NC]
RewriteRule ^.*$ http://site.ru/%1 [R=301,L]
|
| |
|
|
|
|
|
|
|
для: Владимир55
(13.12.2011 в 16:18)
| | Если результат видно - значит все хорошо, с mod_rewrite обычно проблема в том, что они не работают и не сразу сообразишь в чем дело и куда копать (декларативный стиль - сложно отлаживать). | |
|
|
|
|
|
|
|
для: Владимир55
(13.12.2011 в 16:18)
| | Мне во всех этих редиректа не нравится то, что перенаправление "палится".
Если все это делается от дублирования контента для поисковых систем, то это одно, но скрыть таким образом язык, на котором написан сайт не получится, или сказать, что якобы существующей дериктории нет.
Если обращаться к несуществующему адресу, и к адресу который закрыт от лишних глаз, происходят совсем разные действия сервера. Firebug отлично это показывает. | |
|
|
|
|
|
|
|
для: deimand
(14.12.2011 в 09:28)
| | Если все это делается от дублирования контента для поисковых систем, то это одно
Не могли бы Вы прокомментировать эту мысль? | |
|
|
|
|
|
|
|
для: Владимир55
(15.12.2011 в 10:18)
| | Вероятно имеется в виду ситуация, описанная в вашей теме Политика канонизации обращения к сайту. | |
|
|
|
|
|
|
|
для: cheops
(15.12.2011 в 13:17)
| | Наверное.
А то я предположил, что, вдоруг deimand имеет в виду что-то другое, чего я не знаю... | |
|
|
|
|
|
|
|
для: Владимир55
(13.12.2011 в 16:18)
| |
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ http://%{HTTP_HOST}/$1 [R=301,L]
|
| |
|
|
|