Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
system:apache:rewrite [2022/01/16 00:56] mirocowsystem:apache:rewrite [2022/01/16 01:07] (текущий) – [Вопрос / ответ] mirocow
Строка 674: Строка 674:
 RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]</code> RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]</code>
  
 +1. Указание основного зеркала
 +Предназначен для того, чтобы преобразовать домен с www на URL без www. Достаточно ввести правило:
  
 +<code>RewriteEngine On # включает работу
 +RewriteCond %{HTTP_HOST} ^www.название_вашего_сайта\ru$ [NC] #условия для начала перенаправления
 +RewriteRule ^( *)$ http://название_вашего_сайта_/$1 [R=301,L] #правило преобразования</code>
 +2. Перенос на https
 +На сегодняшний день поисковик Google активно призывает владельцев сайтов к использованию безопасного соединения, для чего необходимо перенаправлять пользователей с http на https при помощи кода:
 +
 +<code>RewriteEngine On
 +RewriteCond %(HTTPS) !on
 +RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URL)</code>
 +3. Проставление слеша в конце адреса
 +Если вы не хотите, чтобы URL страницы заканчивался названием каталога http://название_вашего_сайта.ru/catalog, введите в файл код:
 +
 +<code>RewriteCond %{REQUEST_URI} /+[^\.]+$
 +RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]</code>
 +Выполнив данную команду, в дальнейшем после адреса в автоматическом режиме будет добавляться слеш: http://название_вашего_сайта.ru/catalog/
 +
 +4. Перенос домена
 +Изменив название сайта, не забудьте в .htaccess указать:
 +
 +<code>RewriteEngine on
 +RewriteCond %{HTTP_HOST} ^www\.yoursite.ru\.ru$ [NC]
 +RewriteRule ^(.*)$ http://www.your-site.ru/$1 [R=301,L]</code>
 +Оптимизируя сайт и под Яндекс, и под Google, изменение доменного имени может быть чревато неприятными последствиями. Инструкции в robots.txt, предназначенные для Яндекса, перекрываются 301-редиректом. Но этого можно не допустить, добавив в код правило:
 +
 +<code>RewriteEngine on
 +RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
 +RewriteRule ^([^/]+) $1 [L]
 +RewriteCond %{HTTP_HOST} ^mysite\.ru
 +RewriteRule ^(.*)$ http://www.my-site.ru/$1 [R=301,L]</code>
 +
 +5. Запретные команды для поискового бота
 +В .htaccess, так же, как и в robots.txt, можно закрыть доступ к сайту для роботов поисковых систем:
 +
 +<code>RewriteEngine on
 +RewriteCond %{USER_AGENT} Googlebot
 +RewriteRule .* - [F] # F – выдает ошибку 403 – запрещено для сканирования</code>
 +
 +6. Редирект с одного сайта на другой
 +
 +<code>RewriteEngine On
 +RewriteCond %{HTTP_HOST} domain1.ua
 +RewriteRule (.*) http://domain2.ua/$1 [R=301,L]</code>
 +
 +Редирект с www на без www
 +
 +<code>Options +FollowSymLinks
 +RewriteEngine On
 +RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
 +RewriteRule ^(.*)$ http://%1/$1 [R=301,L]</code>
 +
 +Или более понятный синтаксис
 +
 +<code>Options +FollowSymLinks
 +RewriteEngine On
 +RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
 +RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]</code>