Задать вопрос

Как правильно настроить редирект на адрес без слэша?

Необходимо чтобы осуществлялся редирект с адреса вида site.ru/ на site.ru
Подскажите пожалуйста как правильно прописать

Options -Indexes 
ErrorDocument 404 /404.php

<IfModule mod_php5.c>
  php_flag session.use_trans_sid off
  #php_value display_errors 1
  #php_value mbstring.internal_encoding UTF-8
</IfModule>

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
  ExpiresByType image/png "access plus 3 day"
  ExpiresByType text/css "access plus 3 day"
  ExpiresByType application/javascript "access plus 3 day"  
</IfModule>

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
RewriteRule ^(.*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
  • Вопрос задан
  • 237 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ShamblerR
Проблема сложней чем кажется, поскольку в этих редирктах по хорошему еще нужно отслеживатьстатус реципелента, посколкьу если там 404 то смысл менять его на 301+404 нет и с точки зрения сео это не феншуй.

Убирает несколько слешей в урле если встречаются типа //
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} .*\/\/$
RewriteRule (.*)(\/\/)(.*)$ $1/$3$


Исключая файлы по маске, посколку в конце файлов не нужно ставитьслешь, поскольку директива -f тут не прокатит должным образом. Так же можно заменить на любую точку в принципе кроме файлов она нигде не встречается. Но я лично ограничил так.
Н
RewriteCond %{REQUEST_FILENAME} !^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Так же не забывай что нужно это ставить после чпу
Ответ написан
Ваш ответ на вопрос

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

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