htaccess, как скрыть расширения php

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.

решение1

В файле conf для сайта мне удалось это исправить, убрав MultiViews. После этого все заработало нормально.

решение2

У меня есть собственный HomeServer с Ubuntu Server, и вот как я это сделал.

  1. Вам необходимо отредактировать файл конфигурации apache2, расположенный в/etc/apache2/apache2.conf

    sudo nano /etc/apache2/apache2.conf
    
  2. Вам нужно отредактировать строку, которая выглядит так:

    <Directory /var/www/html/>
      Option Indexes FollowSymbLinks
      AllowOverride None
      Require all granted
    </Directory>
    
    • Вам нужно заменить AllowOverride Noneна AllowOverride All, затем вам нужно включить режим перезаписи в apache2 в терминале:

      sudo a2enmod rewrite
      
  3. затем перезапустите службу Apache

    sudo service apache2 restart
    

Попробуйте сейчас, должно сработать.

Связанный контент