WordPress 고유주소 404 에러 해결 방법

워드프레스의 주소를 글 이름으로 하는 것은 여러모로 이득이 있다. URL만 보고 어떤 글인지 바로 유추할 수 있고 검색 키워드가 URL에 들어가기 때문에 검색엔진에 노출되는 것도 이득이 있다.

그런데 이렇게 설정을 한 후 404 에러가 나면서 기존의 글에 엑세스 하지 못하는 문제가 생겼다. 여기저기 검색을 해 보면서 해결 방법을 찾아서 한 번 적어본다.

고유주소 설정 방법은 간단하다. 워드프레스 관리 페이지에 들어간 후 설정 > 고유주소를 누르면 설정할 수 있다. 기본적으로 글 번호가 사용되게 되는데, 이것을 글 이름을 사용하도록 변경해주면 된다.

WordPress 고유주소 설정

저장을 하면 .htaccess에 설정 내용을 붙여넣으라 안내를 해 준다. 서버의 루트에 보면 .htaccess 파일을 찾을 수 있을 것이다. 아래와 같은 형식으로 되어있다. 참고로 other의 쓰기 권한이 있으면 자동으로 편집해준다.

pi@raspberrypi:/var/www/html $ cat .htaccess 

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

다음으로 apache 설정을 확인해줘야 한다. /etc/apache2/sites-enabled/000-default.conf 파일에서 AllowOverride를 All로 바꿔준다.

	
		AllowOverride All
	

그리고 mod_rewrite를 활성화해줘야 한다. /etc/apache2/mods-enabled/ 밑에 rewite.load가 안보인다면 link를 걸어준다.

pi@raspberrypi:/etc/apache2/mods-enabled $ sudo ln -s ../mods-available/rewrite.load rewrite.load

pi@raspberrypi:/etc/apache2/mods-enabled $ ls -l
...
lrwxrwxrwx 1 root root 30  3월 18 14:18 rewrite.load -> ../mods-available/rewrite.load
...

이제 apache2를 재시작해보면 글 이름 도메인이 잘 동작할 것이다.

pi@raspberrypi:/etc/apache2/mods-enabled $ sudo service apache2 restart

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다