Как сделать правильно 301 с двумя //

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

Как сделать правильно 301 с двумя //

Сообщение seoarmor » Сб сен 29, 2012 6:41 am

Добрый день! У меня движок генерит урл на некоторых страницах ввиде ..// в результате получается дубль главной saite// как сделать редирект правильно на saite/ ?
seoarmor
 
Сообщений: 1
Зарегистрирован: Сб сен 29, 2012 6:38 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Андрей » Ср дек 04, 2013 7:46 am

seoarmor писал(а):Добрый день! У меня движок генерит урл на некоторых страницах ввиде ..// в результате получается дубль главной saite// как сделать редирект правильно на saite/ ?


Если на на некоторых:
так разберись - значит где-то в конфигурационном файле или в конфигурационных настройках поставил лишнию "/"
Андрей
Новоприбывший
 
Сообщений: 19
Зарегистрирован: Пт ноя 29, 2013 6:16 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Андрей » Ср дек 04, 2013 8:07 am

Убираем дубли главной страницы:

Вот полезная информация, в особенности для СЕО:

Склеиваем все возможные ссылки ведущую на главную в один урл. Главным образом это важно для статического и анкорного веса.

В большинстве движков в частности в той же джумле на индексную страницу сайта ведет куча ссылко с различным урлом.
Код: выделить все
http://[b]www[/b].domen.ru/
http://domen.ru/,
http://domen.ru/i[b]ndex.php[/b],
http://www.domen.ru/index.php.

В нашем ".htaccess", находящимся в самом корне сайта в допишем после RewriteEngine on или же создадим:

Код: выделить все
RewriteEngine on

# редирект c "www" на без "www"
 
RewriteCond %{HTTP_HOST} ^www.domen.ru
 
RewriteRule ^(.*)$ http://domen.ru/$1 [R=301,L]
 
# Редирект для главной (с "/index.php" на "/")
 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
 
RewriteRule ^index\.html$ / [R=301,L]
 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
 
RewriteRule ^index\.php$ / [R=301,L]

Ридирект с кодом 301 «постоянное перемещение» склеит все перечисленные страницы с главной страницей – "http://domen.ru/"

И последним аккордом назначаем основное зеркало (если вы конечно этого не сделали еще при создании сайта) в конце файла robots.txt вставляем:
Код: выделить все
Host: domen.ru

Пояснения:
THE_REQUEST - Полная строка HTTP запроса отправленная браузером серверу (т.е.,
«GET /index.html HTTP/1.1»). Она не включает какие-либо дополнительные заголовки отправляемые браузером.
^ Маркер начала строки
$ Маркер конца строки
\ ставится перед спецсимволами, если они нужны в своем первозданном виде, т.е. ^[A-Z]{3,9}\ /index\ HTTP/ = ^[A-Z]{3,9}\ пробел /index\ пробел HTTP/
] {3,9}- фигурные скобки означают диапазон количества символов, в данном случае допускается от 3 до 9 символов? т.е. может быть GET, а может быть POST и другие значения, длина которых как обязана быть менее 9 символов.
выражение "[0-9]" равносильно выражению "[0123456789] - равносильно выражению "1|2|3......" ,т.е. и или 1 и или 2 и или 3 и или ... ... 9
Последний раз редактировалось Андрей Ср дек 04, 2013 10:04 am, всего редактировалось 6 раз(а).
Андрей
Новоприбывший
 
Сообщений: 19
Зарегистрирован: Пт ноя 29, 2013 6:16 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Андрей » Ср дек 04, 2013 8:27 am

Еще один вариант

Если `/index' или `index.html' то перенаправление на на `/'.
Код: выделить все
RewriteCond %{REQUEST_URI} ^/index$ [OR]
RewriteCond %{REQUEST_URI} ^/index[.]+(\w+)$
RewriteRule . / [R=301,L]


При внешнем редиректе меняется урл адреса в строке браузера - "[R=301,L]"
При внутреннем - не меняет урл адреса в строке браузера - "[R=301] или [L]"
Андрей
Новоприбывший
 
Сообщений: 19
Зарегистрирован: Пт ноя 29, 2013 6:16 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Sathiya » Сб фев 21, 2015 12:59 pm

Склеиваем все возможные ссылки ведущую на главную в один урл. Главным образом это важно для статического и анкорного веса.
Sathiya
 
Сообщений: 1
Зарегистрирован: Сб фев 21, 2015 12:57 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron