@Cwe
Падкий на front

301 редирект. как реализовать редирект с site1.ru/? на site1.ru/?

Возникла проблема с редиректом.

Есть сайт, назовем его site.ru. Написан на чистом php. самопис

Привожу .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ [NC]
RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ site.ru/$1 [L,R=301]

RewriteCond %{QUERY_STRING} ^.+$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ site.ru/? [R=301,L]

как сделать редирект site.ru/? на site.ru/
  • Вопрос задан
  • 289 просмотров
Пригласить эксперта
Ответы на вопрос 2
Splo1ter
@Splo1ter
.NET Developer (9 years+)
Ответа на такой вопрос будете ждать долго, курите маны
Ответ написан
Комментировать
@ShamblerR
Давай по пунктам разложем

RewriteEngine On
 RewriteBase /
тут все понятно

RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
 RewriteRule ^(.*)$ site.ru/$1 [R=301,L]

тут уже пипец. начинается уже 2 ошибки хотя и не критичные
Это будем считать редирект на без www давай чтоб не паритсья я тебе дам редирект который сработает без указаиня домена и выглядящий менее убого.

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]     
       RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ [NC]
 RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ site.ru/$1 [L,R=301]

C виду выглядет как полная хрень, что ты именно пытался этим сделать ?

RewriteCond %{QUERY_STRING} ^.+$
 RewriteCond %{REQUEST_URI} ^/$
 RewriteRule ^(.*)$ site.ru/? [R=301,L]

это сколь я понимаю опять убогое продолжение самописаного чпу в добавок с ? в конце

распиши что именно по твоему мнению делают каждые блоки, мы приведем в чувства существующее ... ммм как сказать "строение"
А потом будем думать что же было не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы