Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Основные редиректы для Apache

Автор Sky-fi, 07-11-2013, 21:18:43

« назад - далее »

Sky-fiTopic starter

Всем привет!

Решил собрать в одном месте все команды редиректов (301), которыми постоянно пользуюсь при внутренней оптимизации сайтов.
Данные редиректы работают на серверах Apache, и прописываются в файле .htaccess, который лежит в корне сайта.

Итак, редирект из одного домена на другой, site.ru на mysite.ru, например

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


Перенаправление на основной домен (с www или без):

-  с www.site.ru на site.ru

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


- теперь наоборот, с site.ru на www.site.ru

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


Редирект с site.ru/index.php на site.ru

   RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
   RewriteRule ^index\.php$ http://site.ru/ [R=301,L]


Похожий редирект, но уже с site.ru/index.html на site.ru

  RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
  RewriteRule ^index\.html$ http://site.ru/ [R=301,L]



Иногда сайт бывает доступен по IP-адресу. Таким методом убираем:

   RewriteCond %{HTTP_HOST} !^ваш.IP.адрес$ [NC]

Еще сайт может быть доступен в виде site.ru. - с точкой в конце. Есть топик у нас открыт по этому вопросу, так что расписывать, зачем да почему, не буду. 
Собственно, сам редирект (на некоторых серверах может не работать)

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

Вот, собственно, и все. Если кто знает еще полезные редиректы - пишите в комментариях.


a19x

Спасибо, напомнили про FQDN
http://tl52.ru
  •  


Sky-fiTopic starter

a19x, пожалуйста)
Да, пренебрегать FQDN  не стоит, это точно.

a19x

В смысле я забыл сделать редирект с корневого домена.
Для самых дотошных вебмастеров) Чем может грозить точка в конце доменного имени

Ну и по делу, есть ещё пара способов редиректа с www и на www:
с www:

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


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


на www:

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


Генератор редиректов
http://tl52.ru
  •  

Sky-fiTopic starter

Цитата: a19x от 08-11-2013, 18:53:44Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Этим пользуюсь часто тоже, а за первый и последний - спасибо, встречал, но как-то раньше не использовал.



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....