не срабатывает mod_rewrite

программирование php веб .htaccess

У меня установлен denwer и я просто хочу убрать в каждом файле окончание .php
Я создал папку "test" в Z:\home\localhost\www там два файла .htaccess в котором написано
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

и index.php который содержит ссылку на другой файл который находится в test/img/img.php

index.php
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
</head>
<body>
<a href="img/img.php">Перейти по ссылке на img</a><br />
</body>
</html>


img.php

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
</head>
<body>
<a href="../index.php">Перейти по ссылке index</a>
</body>
</html>

когда я перехожу по ссылке то в адресной строке прописано
http://localhost/test/index.php
http://localhost/test/img/img.php

а мне нужно
http://localhost/test/index
http://localhost/test/img/img

в апаче всё включено
как это сделать?
Ответы:
mod_rewrite срабатывает, но он перенаправляет запрос /test/index на /test/index.php и /test/img/img на /test/img/img.php. Причем перенаправляет не 301-м редиректом, т.е. в браузере адресная строка остается без изменений. Вам достаточно изменить в html-файлах ссылки: вместо "img/img.php" поставить "img/img", вместо "../index.php" - "../index".
Адреса c .php при этом тоже будут работать. Если это нужно устранить, то придется дополнительно написать правило для 301-го редиректа запросов c ".php" на конце на аналогичные без ".php".


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.