Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
то ждем ваше обращение в нашей службе тех поддержки.
Первый пункт в чек-листе оптимизатора. Аспирин от проседания сайта в показателях индексации и выдачи. Незаменимое средство при миграции с хостинга на хостинг, с домена на домен. Какие способы настройки редиректа надо иметь под рукой?
1. Три способа 301-редиректа c «www» на без «www» с помощью файла .htaccess
Первый:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.yournet\.kz$ [NC]
RewriteRule ^(.*)$ http://yournet.kz/$1 [R=301,L]
</IfModule>
Второй:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
Третий:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^yournet\.kz$ [NC]
RewriteRule ^(.*)$ http://yournet.kz/$1 [R=301,L]
</IfModule>
2. Два способа 301-редиректа на домен с «www» с помощью файла .htaccess
Первый:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yournet.kz$ [NC]
RewriteRule ^(.*)$ http://www.yournet.kz/$1 [R=301,L]
</IfModule>
Второй:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
</IfModule>
3. Как настроить переадресацию через Nginx?
Используйте код вида
server {
listen 80;
server_name example.org;
return 301 http://www.example.org$request_uri;
}
server {
listen 80;
server_name www.example.org;
...
}
4. Как настроить автоматическое добавление / в конце запроса с помощью Nginx?
Найдите файл /etc/nginx/bx/site_avaliable/s1.conf
Добавьте код
server {
...
rewrite ^([^.]*[^ /])$ $1/ permanent;
...
}
После этого перезапустите сервер командами
nginx -t
и если все нормально
service nginx restart
5. Как согласовать редирект с ЧПУ?
Это важно! Редирект будет корректно работать только если его команды расположены в файле .htaccess над (перед) командами перенаправления запросов на urlrewrite. Например:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^www].*)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
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>
----------------------
Спасибо за внимание!
Читайте свежий выпуск «Кладовки программиста» каждый день!
Назад в раздел
1. Три способа 301-редиректа c «www» на без «www» с помощью файла .htaccess
Первый:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.yournet\.kz$ [NC]
RewriteRule ^(.*)$ http://yournet.kz/$1 [R=301,L]
</IfModule>
Второй:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
Третий:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^yournet\.kz$ [NC]
RewriteRule ^(.*)$ http://yournet.kz/$1 [R=301,L]
</IfModule>
2. Два способа 301-редиректа на домен с «www» с помощью файла .htaccess
Первый:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yournet.kz$ [NC]
RewriteRule ^(.*)$ http://www.yournet.kz/$1 [R=301,L]
</IfModule>
Второй:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
</IfModule>
3. Как настроить переадресацию через Nginx?
Используйте код вида
server {
listen 80;
server_name example.org;
return 301 http://www.example.org$request_uri;
}
server {
listen 80;
server_name www.example.org;
...
}
4. Как настроить автоматическое добавление / в конце запроса с помощью Nginx?
Найдите файл /etc/nginx/bx/site_avaliable/s1.conf
Добавьте код
server {
...
rewrite ^([^.]*[^ /])$ $1/ permanent;
...
}
После этого перезапустите сервер командами
nginx -t
и если все нормально
service nginx restart
5. Как согласовать редирект с ЧПУ?
Это важно! Редирект будет корректно работать только если его команды расположены в файле .htaccess над (перед) командами перенаправления запросов на urlrewrite. Например:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^www].*)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
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>
----------------------
Спасибо за внимание!
Читайте свежий выпуск «Кладовки программиста» каждый день!
Назад в раздел
Подписаться на новые материалы раздела: