Как выполнить перенаправление 301 всех URL-адресов .php на чистые URL-адреса? - PullRequest
0 голосов
/ 02 апреля 2010

Мой htaccess работает не совсем так, как я хочу. Я видел несколько похожих тем здесь, но они не совсем то, что мне нужно, и я пока недостаточно знаю о htaccess, чтобы изменить код в соответствии с моими потребностями.

Это то, чем я занимаюсь до сих пор: У меня есть все не-www URL-адреса, перенаправляющие на www-URL, и я делаю внутреннюю переписывание всех URL-адресов в соответствующий файл PHP на сервере , В файлах у меня есть относительные ссылки, которые чисты без каких-либо расширений на них.

Это то, что мне еще нужно сделать: Все страницы на моем сайте по-прежнему доступны через URL с расширением .php в конце. По причинам SEO я хочу, чтобы URL с .php все делали внешнее перенаправление 301 на чистый URL без расширения.

Вот что у меня есть в файле htaccess, который находится в корневой папке на моем сервере.

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

Буду признателен за любую помощь. Заранее спасибо!

1 Ответ

1 голос
/ 02 апреля 2010

Я считаю, что это должно работать

RewriteRule ^(.*)\.php$ $1 [L,R=301]

L = Последнее правило (Apache остановит обработку правил, если этот шаблон соответствует)

...