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 파일에서 MultiView를 제거하여 이 문제를 해결할 수 있었습니다. 그런 다음 정상적으로 작동하기 시작했습니다.

답변2

나는 Ubuntu Server를 갖춘 나만의 HomeServer를 가지고 있으며 이것이 내가 한 방법입니다.

  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. 그런 다음 아파치 서비스를 다시 시작하십시오

    sudo service apache2 restart
    

지금 시도해 보세요. 작동할 것입니다.

관련 정보