301 Redirect - примеры кода на js, PHP, htaccess
2014-11-30
Зачем нужен 301 Redirect:
- Для склейки домена с www и без www. При этом показатели и ссылочный вес будет совмещаться, а то иногда бывает, что для домена с и без www они могут отличаться.
- При смене домена со старого на новый.
- При переносе страницы на сайте чтобы поисковики и посетители попадали на новую страницу вместо старой неработающей.
htaccess
Переадресация на новый домен
В этом случае все страницы старого сайта будут перенаправлены на новый.
Redirect 301 / http://www.site.com/index.htm
Переадресация страницы
Переадресация с несуществующей, например перенесенной, страницы на новую (куда перенесли).
Redirect 301 /site1/page1.htm http://www.site2.com/page2.htm
Убрать index.php на главной странице
Актуально для SEO оптимизации Joomla.
Redirect 301 http://khtulhu.org.ua/index.php http://khtulhu.org.ua/
или так:
RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
RewriteRule ^(.*)index\.php$ <a href="http://%{HTTP_HOST}/$1">http://%{HTTP_HOST}/$1</a> [R=301,L]
Удалить index.php из ссылки
RewriteCond %{REQUEST_URI} ^/index\.php/
RewriteRule ^index.php/(.*) /$1 [R,L]
или так:
RewriteRule ^index\.html / [R=301,L]
Перенаправление с домена с www на домен без www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule .* http://%1/$0 [L,R=301]
PHP
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.ru/newdir/newpage.htm");
exit();
JavaScript
<script type="text/javascript">
location="http://yandex.ru";
document.location.href="http://yandex.ru";
location.replace("http://yandex.ru");
window.location.reload("http://yandex.ru");
document.location.replace("http://yandex.ru");
</script>
JQuery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
// jQuery URL redirection
$(document).ready( function() {
url = "http://www.mydomain.com/new-page.html";
$( location ).attr("href", url);
});
</script>