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.
<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

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

	<Directory "/var/www/html">
		AllowOverride All
	</Directory>

그리고 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

iMac 부트캠프 소리 안나는 문제

2019 iMac을 새로 구입하면서 외장 SSD에 부트캠프를 설치한 후 모든 드라이버를 설치했는데도 소리가 안 나는 문제가 발생했다. (외장 SSD에 Windows 10 설치 방법은 여기를 참조.)

구글에서 검색을 해 보니 Bootcamp 드라이버 대신에 Windows의 기본 드라이버가 사용되어 발생하는 문제라고 여기에 나와있었다.

제대로 동작하는 사운드 드라이버는 Bootcamp 디렉토리 하위에 $WinPEDriver$\Cirrus 밑에 있다. 장치관리자에서 AMD 안 붙은 사운드 장치의 드라이버를 업데이트 해 주면 재부팅 없이도 소리가 제대로 난다.

High Definition Audio 장치를 Cirrus Logic CS8409 장치 드라이버로 업데이트 한 모습

애플에서 테스트를 제대로 안 한건지, 내가 Windows를 제대로 설치안 한 건지 모르겠지만 여튼 이렇게 해서 해결 완료. 🙂