2016년 11월 3일 목요일

맥에서 서버 5 모듈 사용시 퍼멀링크(permalinks)의 설정 변경시 문제 해결에 대하여...

맥에서 엘(El Captain) + Server 5 모듈을 사용하면서 워드프레스를 설치한뒤, 겪는 문제중의 하나입니다.

워드프레스가 페이지나 포스트를 보여줄 때 표현하는 방법의 디폴트는 plain 방식입니다.
예를 들면, http://www.flexsim.co.kr/?p=123 같은 식입니다.

어떻게 표현을 하던 보여주는 입장에서는 상관없지만, 보는 사람 입장에서는 본인이 어느 매뉴의 어떤 위치에서 내용을 보고 있는지 알고 있는 것이 편리합니다.
마치 집구경할 때 내가 서있는 위치가 어디인지 아는 것이 이동이 편리한 것곽 동일합니다.

이 표현 방식이 어떤 플러그인에서는 디폴트 방식이 허용이 안되는 경우가 문제입니다.
즉 post name 으로 보여주어야 하는 경우입니다. 방문 고객을 위한 방식입니다.
예를 들면, http://www.flexsim.co.kr/sample-post 의 방식으로 표현하여야 하는 경우입니다.

이럴 경우 많이 사용하는 방식이 /%category%/%postname%/ 으로 복합적인 방식으로 설정합니다.

그런데 이러한 방식이 El Captain + Server 5를 사용하면서 문제가 발생합니다.
즉 Dashboard>Settings>Permalink Setting에 들어가서 디폴트 plain 방식에서 postname 이나 커스텀 구조로 변경하고 저장해도 아무런 에러 없이 저장이 된 것 같아도 실제 내용을 보여줄 때에는 404 Not Found 에러가 발생하며 그 페이지나 포스트 내용을 보여주지 못하는 경우가 발생합니다.

이유는 설치된 아파치의 디폴트가 rewrite_module이 off 상태이기 때문입니다.

이를 해결하는 방법은 아래와 같습니다.

1) 설치된 사이트의 폴더에 .htaccess 파일을 만듭니다.
2) 파일 속성을 666 으로 변경합니다.
3) 편집창을 열어 아래와 같은 내용을 입력합니다.

# 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
4) 웹 페이지를 닫은 후 사이트를 다시 접속합니다.

특히 이전에 포스팅한 wpforo 포럼 플러그인은 디폴트 표현방식 plain 타입을 지원해주지 않기 때문에 위에 대한 문제는 반드시 해결해야 하는 문제입니다.

댓글 없음:

댓글 쓰기