Перенаправление всех URL, заканчивающихся на .php, без расширения - PullRequest
2 голосов
/ 23 июля 2011

Я недавно удалил расширение .php со всех своих страниц.

Результаты Google все еще показывают:

www.mysite.com/page.php
www.mysite.com/directory/page-example.php

Теперь это неработающие ссылки. Новые из них:

www.mysite.com/page
www.mysite.com/directory/page-example

Какое было бы подходящее перенаправление, чтобы, если кто-то щелкнет один из URL-адресов .php, он был перенаправлен на URL без расширения

1 Ответ

7 голосов
/ 23 июля 2011
  1. Используйте <link rel="canonical" href="FULL_PROPER_URL" /> на своих веб-страницах.Это скажет поисковой системе использовать этот URL при отображении результатов поиска и будет рассматривать его как основной URL при отображении дублирующих URL.Подробности здесь:

  2. Использовать 301 постоянное перенаправление.Обратите внимание, что это НЕ будет мешать Google или любой другой поисковой системе запрашивать .php страниц, если такая ссылка общедоступна на каком-либо другом сайте.

Это необходимо поместить в .htaccessфайл в корневой папке сайта.При размещении в другом месте может потребоваться некоторая настройка.

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

# redirect to .php-less link if requested directly
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteRule ^(.+)\.php $1 [R=301,L]

Приведенное выше правило будет перенаправлять 301 на URL без php.Он будет перенаправлен только в том случае, если файл .php был запрошен напрямую, и не затронет уже переписанные URL.

...