저는 Ubuntu 20.04를 실행 중이고 현재 PHP를 사용하여 API를 만들고 있습니다. .htaccess
404 페이지를 내 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
하고 다시 시작하십시오.