Бортовой журнал Ктулху

301 Redirect - примеры кода на js, PHP, htaccess

Зачем нужен 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>