3. Для чего используется
• www на без www
• Склейка урла со слешем и чистого
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
• Склейка дублей главной страницы
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /([^/]+/)*(default|index|main).(html|php|htm) HTTP/ [NC]
RewriteRule ^(([^/]+/)*)(default|main|index).(html|php|htm)$ http://www.site.com/$1 [L,R=301]
• Смена расширения
RedirectMatch 301 (.*).php$ http://www.site.com$1.html
• Склейка урлов с несколькими слешами, дефисами
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2 [R=301,L]
• Склейка урлов в разных регистрах
$lowerURI=strtolower($_SERVER['REQUEST_URI']); if($_SERVER['REQUEST_URI']!=$lowerURI) {
header("HTTP/1.1 301 Moved Permanently"); header("Location: http://" . $_SERVER['HTTP_HOST'] .
$lowerURI); exit(); }
4. Разница 301 и 302
301
• Для любых дублей страниц (З=з,/,//,--
,page1=page1.html,site.com=site.com/index.php)
• Склейка основного зеркала www.site.ru с
site.ru
• Для склейки кириллических адресов и их
%клонами
302
Если нужен только переход пользователя, без
перехода веса и репутации
5. правила
• Один шаг
• Передавать ссылочный вес или нет (выбираем
правильный тип)
• Минимум внутренних редиректов
• Перенаправляем без нарушения поискового
намерения, на похожую, на
близкотематическую
• Использование редиректа заменяет одну
страницу другой
http://www.webconfs.com/htaccess-redirect-
generator.php
7. Ссылки через редирект(!осторожно)
Редирект через серверные скрипты.
Ссылка имеет динамический вид, ссылка на сайт.ру – переменная
<a href="http://other_site.ru/go.php?link=http://site.ru">site.ru</a>
В данном примере ссылочный вес передается
странице other_site.ru/go.php , а уже в начале этой
страницы стоит код перебрасывающий на сайт ру.
<?
php<br>
$url=$_GET['link'];<br>
header("Location: $url");<br>
exit;<br>
?>
Редирект через Dynamic HTML
<a href="http://other_site.ru" OnClick="this.href='http://site.ru'
">site.ru</a>