Редирект

Реклама
kwork advertising

Редирект на перемещенные или переименованные страницы

Если вы переименовали или переместили некоторые страницы на сайте и хотите, чтобы посетители увидели уже новые страницы, даже если они обращаются по старому адресу, следует в файл .htaccess прописать следующий код:

Redirect 301 /oldpage.html http://yoursite.com/newpage.html
 

А в данном случае сработает редирект со страницы на главную сайта:

RedirectMatch 301 /seo/someoldfile.php http://www.seomoz.org
 

Если у вас вместо «голого» html-сайта установлена какая-либо CMS, то редирект будет таким:

Redirect 301 /oldpage/ http://yoursite.com/newpage/
 

В сайтах на CMS WordPress можно прописать следующее правило:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
 

Тогда, при изменении урла, при наборе старого интернет-адреса страница редиректится автоматически на новую.

В случае, если нужно прописать редирект c одного домена на новый, то рекомендуется использовать общее правило:

RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^marketnews4u\.info$ [OR]
RewriteCond %{HTTP_HOST} ^www\.marketnews4u\.info$
RewriteRule ^/?$ "http\:\/\/marketnews4u\.com\/" [R=301,L]
 

или:

Redirect 301 / http://yoursite.com/
 

В случае, если нужно прописать редирект не только для домена, но и для отдельных страниц, то рекомендуется использовать общее правило:

# Redirect all pages from olddomain.com
# to newdomain.com
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^marketnews4u\.info$ [OR]
RewriteCond %{HTTP_HOST} ^www\.marketnews4u\.info$
RewriteRule ^/?$ "http\:\/\/marketnews4u\.com\/" [R=301,L]
RewriteRule ^grocery\/$ "http\:\/\/marketnews4u\.com\/grocery\/" [R=301,L]
RewriteRule ^grocery\/digestion\/$ "http\:\/\/marketnews4u\.com\/grocery\/digestion\/" [R=301,L]
RewriteRule ^forest\/foreignforest\/trees\/$ "http\:\/\/marketnews4u\.com\/forest1\/foreignforest1\/trees\/" [R=301,L]
 

Если вы хотите перенаправить целый сайт на одну конкретную страницу другого сайта, тогда нужно прописать следующее правило:

RewriteOptions inherit
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.spbfinanceru.com$ [OR]
RewriteCond %{HTTP_HOST} ^spbfinanceru.com$
RewriteRule ^(.*)$ https://webdomainplus.com/shop/$1 [R=301,L]
 

Если домен у вас через палку, например, e-toilet.info, то правило оформляется следующим образом:

# Redirect CPanel Subdomain
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^e\-toilet\.info$ [OR]
RewriteCond %{HTTP_HOST} ^www\.e\-toilet\.info$
RewriteRule ^/?$ "http\:\/\/webdomainplus\.com\/shop\/" [R=301,L]
 

Для систематического устранения дублей страниц, которые возникают в некоторых CMS, можно использовать следующие правила редиректа:

RewriteEngine on
RewriteCond %{REQUEST_URI} !(/page*)
RewriteRule (.*)\/([0-9]+) $1 [R=301,L]
 
RewriteEngine on
RewriteCond %{REQUEST_URI} !(/category*)
RewriteRule (.*)page\/([0-9]+/)$ /$1 [R=301,L]
RewriteRule ^page/([0-9]+)/(.)s=(.*)$ /page/([0-9]+)/(.)s=(.*) [L]
 

или:

# 301 for canonical
RewriteEngine on
RewriteCond %{REQUEST_URI} !(/page*)
RewriteRule (.*)\/([0-9]+/)$ /$1/ [R=301,L]
 
# 301 for canonical /page/
RewriteCond %{REQUEST_URI} !(/category*)
RewriteRule (.*)page\/([0-9]+/)$ /$1 [R=301,L]
 

Директива RedirectMatch

Директива RedirectMatch аналогична директиве Redirect за исключением того, что в RedirectMatch возможно использование регулярных выражений, что, несомненно, может быть удобно в некоторых условиях. Например, для организации передачи параметров скрипту в теле URL.

Например, которое вызовет перезагрузку страницы:

RedirectMatch /(.*)/(.*)/index.html$ http://mysite.ru/script.php?par1=&par2=
 

В регулярном выражении можно использовать любые печатные символы и пробел, но часть символов имеет особое значение:

  • круглые скобки () используются для выделения групп символов. В дальнейшем к ним можно обращаться по номеру
  • символ ^ обозначает начало строки
  • символ $ обозначает конец строки
  • символ . обозначает любой символ
  • символ | обозначает альтернативу. Например, выражения «A|B» означают «A или B»
  • символ ? ставится после символа (группы), который может как присутствовать, так и отсутствовать
  • символ * ставится после символа (группы), который может отсутствовать или присутствовать неограниченное число раз подряд
  • символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз
  • квадратные скобки [] используются для перечисления допустимых символов
  • квадратные скобки [^] используются для перечисления недоступных символов
  • символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде
  • все, что расположено после символа ‘#’, считается комментарием
 

Вместе с этим читают:     404 страница     Атрибуты доступа     Блок по IP

Реклама
заказать статью
Поделиться контентом в соцсетях: vkфейсбуктвиттерtelegramлинкединпинтерест
просмотрели просмотров: 242

Комментируя, Вы соглашаетесь с правилами пользования порталом.

Ваш адрес email не будет опубликован. Обязательные поля помечены *