htaccess, как скрыть расширения php
Я пытаюсь использовать файл.htaccess, чтобы скрыть расширения php, но, похоже, он не работает. Это работает, если в каталоге есть файл html, и я не использую расширение.html.
Это то, что у меня есть.
RewriteEngine On
RewriteBase /
RewriteRule ^([^/.]+)$ $1.php [L]
Так
http://www.mydomain.com/test
Должен воспитывать.
http://www.mydomain.com/test.php
Это говорит:
Not Found
The requested URL /test was not found on this server.
2 ответа
В файле conf для сайта я смог это исправить, убрав MultiViews. Потом все заработало нормально.
У меня есть свой собственный HomeServer с Ubuntu Server, и вот как я это сделал.
Вам нужно отредактировать файл конфигурации apache2, расположенный в
/etc/apache2/apache2.conf
sudo nano /etc/apache2/apache2.conf
Вы должны отредактировать строку, которая выглядит так:
<Directory /var/www/html/> Option Indexes FollowSymbLinks AllowOverride None Require all granted </Directory>
Вам необходимо заменить
AllowOverride None
сAllowOverride All
, затем вам нужно включить режим перезаписи в apache2 в терминале:sudo a2enmod rewrite
затем перезапустите службу Apache
sudo service apache2 restart
Попробуйте сейчас, это должно работать.