.htaccess가 PHP 프로젝트에 적용되지 않습니다.

.htaccess가 PHP 프로젝트에 적용되지 않습니다.

저는 Ubuntu 20.04를 실행 중이고 현재 PHP를 사용하여 API를 만들고 있습니다. .htaccess404 페이지를 내 index.php로 다시 리디렉션해야 하는 파일을 추가했습니다 . 내 아파치 구성에 문제가 있을 수 있다고 생각하기 때문에 askubuntu에서 이것을 묻습니다. 내 000-default파일에 들어가서 /etc/apace2/sites-available다음을 수정했습니다.

<Directory /var/www/html>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

apache2.conf또한 내 정보를 /etc/apache2/apache2.conf다음과 같이 수정했습니다 .

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<Directory /usr/share>
    AllowOverride All
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>

내 .htaccess 파일의 내용은 다음과 같습니다.

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Send would-be 404 requests to Craft
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
    RewriteRule (.+) index.php?p=$1 [QSA,L]

</IfModule>

"THIS SHOULD ERROR"와 같은 내용을 작성하려고 했지만 브라우저를 다시 로드하려고 했을 때 예상한 대로 500 오류가 발생하지 않았지만 여전히 400 오류가 발생하므로 이는 내 .htaccess파일이 히트되지 않는다는 것을 의미합니다.

아파치나 시스템 파일을 수정한 후 실행했습니다.

sudo systemctl restart apache2하지만 주사위는 없습니다.

이 시점에서 무엇을 더 수정해야 할지 잘 모르겠습니다. 도움을 주시면 감사하겠습니다.

답변1

문제는 .htaccess가 무시되는 것이 아니라 mod_rewrite가 활성화되지 않은 것 같습니다. Apache2를 시도 sudo a2enmod rewrite하고 다시 시작하십시오.

관련 정보