Переписать htaccess не работает должным образом на локальном хосте - PullRequest
0 голосов
/ 28 декабря 2011

Сейчас я реструктурирую сайт и тестирую его на localhost (xampp).

В корневом каталоге было несколько файлов .htm, которые были преобразованы в .php. Однако я бы хотел сохранить расширение .htm по причинам SEO. Поэтому я создал файл .htaccess с таким содержанием:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*)\.php$ $1.htm [L]

Но когда я пытаюсь получить доступ к такой странице, чтобы протестировать переписывание:
http://localhost/sitename/anything.php

Я всегда добираюсь до
http://localhost/C:/xampp/htdocs/sitename/anything.htm

, что, очевидно, приводит к ошибке 403.

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

Я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 12 января 2016

Попробуйте перенаправить, используя запрошенный URI:

RewriteEngine On
RewriteRule ^(.*)\.php$ %{REQUEST_URI}.htm [R=301,L]

Я протестировал его, и он добавил «.htm» ко всем моим php URIs test.php -> test.php.htm

Здесь нет необходимости в обратных ссылках.

0 голосов
/ 28 декабря 2011

Попробуйте добавить директиву RewriteBase, т.е.

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^(.*)\.php$ $1.htm [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...