#apache #.htaccess #mod-rewrite
Вопрос:
Я пытаюсь использовать приведенный ниже код, но он не работает для меня
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ $1.html
Комментарии:
1. Как это связано с PHP?
2. Кажется, это работает на меня..
3. Пожалуйста, объясните, что вы подразумеваете под «не работает». Этот код делает противоположное тому, что вы указываете в названии. Однако вам не следует «переписывать» с
/abc.html
на/abc
.4. Я имею в виду, что мне нужно открыть mdaziz.co.in/abc.html но я хочу, чтобы URL-адрес был mdaziz.co.in/abc это. Я использовал приведенный выше код для исправления, но не получил решения, так что можете ли вы помочь?
5. Да, приведенный выше код уже делает это. Когда вы запрашиваете URL
/abc
-адрес, приведенное выше правило внутренне переписывает запрос, на/abc.html
который затем подается. Вы предполагаете, что этого не происходит? Или вы ожидаете, что ваши URL-адреса будут волшебным образом изменены с/abc.html
на/abc
в вашем HTML-источнике? Потому что он этого не делает, если вы этого ожидаете?
Ответ №1:
Простое решение-включить мультивидение в Apache.
MultiViews скрывает расширение файла в URL-адресе.
lt;Directory "/folder/subfolder/subfolder"gt; Options MultiViews lt;/Directorygt;