15
1. Apache 재작성 모듈(
2.
“Not Found” 오류가 발생하는 문제는 주로 Apache 서버의 재작성 모듈(mod_rewrite
)이 활성화되지 않았거나 .htaccess
파일이 제대로 설정되지 않았을 때 발생합니다. 이 문제를 해결하는 방법을 단계별로 설명합니다.
1. Apache 재작성 모듈(mod_rewrite
) 활성화하기
mod_rewrite
모듈이 활성화되어 있지 않으면 퍼머링크가 제대로 작동하지 않습니다.
터미널에서 다음 명령어를 실행하여 mod_rewrite
를 활성화합니다.
sudo a2enmod rewrite
이후 Apache를 재시작합니다.
sudo systemctl restart apache2
2. .htaccess
파일 확인 및 설정하기
WordPress 루트 디렉터리(예: /var/www/html
)에 .htaccess
파일이 있는지 확인합니다. 없으면 새로 생성하고 다음 내용을 추가합니다.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
파일이 존재하지만 내용이 다르다면 위 내용을 덮어쓰세요.
3. Apache 설정 파일 수정하기
퍼머링크가 작동하려면 Apache 설정에서 AllowOverride를 All
로 변경해야 합니다.
- Apache 설정 파일을 열어 수정합니다.
sudo nano /etc/apache2/apache2.conf
- 다음 부분을 찾습니다.
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AllowOverride None
을AllowOverride All
로 변경합니다.
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
- 변경 사항을 저장하고 종료합니다 (
Ctrl + O
→Enter
→Ctrl + X
). - Apache를 재시작합니다.
sudo systemctl restart apache2