Я пытаюсь использовать файл .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.
решение1
В файле conf для сайта мне удалось это исправить, убрав MultiViews. После этого все заработало нормально.
решение2
У меня есть собственный 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
Попробуйте сейчас, должно сработать.