html — не могу удалить .php с сайта, используя htaccess. Сервер Dreamhost

Я пытаюсь удалить «.php» на моем сайте. Я изменил файл .htaccess, основываясь на документации, представленной в вики Dreamhost, следующим образом:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]

Тем не менее, это не работает на сайте. Например, этот код не работает:

<a href ="about">link</a>

Это показывает следующую ошибку:

не обнаружена

Запрашиваемый URL /jimmyvosler.com/public/about.php не найден на этом сервере.

Кроме того, при попытке использовать ErrorDocument для обработки запроса возникла ошибка 404 Not Found.

Это работает (но все равно отображает .php в конце, что я и пытаюсь исправить):

<a href ="about.php">link</a>

Я не понимаю, что является причиной этого, тем более, что ошибка даже указывает на правильное место. Есть ли настройка, которую мне нужно проверить в моем инструменте администратора?

0

Решение

Попробуй это:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
0

Другие решения

Вот решение для всех, у кого есть такая же проблема. Я добавил это в мой файл .htaccess. Это решение получило поддержку Dreamhost и было связано с этим сайтом: http://eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
0

Попробуй это:

Options All -Indexes
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)$ $1.php [L]
0
По вопросам рекламы [email protected]