PHP/워드프레스

아파치 AllowOverride - rewrite - .htaccess

에혀 2019. 6. 10.

wordpress 에서 .htaccess 가 종종 나오던데..

 

 

그러나 일반적으로 .htaccess 파일을 가급적 피해야 합니다. .htaccess 파일에서 허용하는 지시어는 주설정파일의 <Directory> 섹션과 같은 효과가 있습니다. 다음 두 가지 큰 이유 때문에 .htaccess 파일 사용을 피해야 합니다.

AllowOverride가 .htaccess 파일을 사용하도록 허용하면, Apache는 디렉토리마다 .htaccess 파일을 찾습니다. 그래서 .htaccess 파일은 문서를 요청할 때마다 읽어들입니다. 게다가 적용해야하는 전체 지시어를 모으기위해 Apache는 모든 상위 디렉토리에서 .htaccess 파일을 찾습니다. 그래서 /www/htdocs/example 디렉토리에 있는 파일을 요청하면 Apache는 다음 파일들을 찾아야 합니다.
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
그래서 그 디렉토리에 있는 파일을 접근할 때마다 설정파일이 전혀 없어도 파일 시스템을 4번 더 접근해야 합니다.

 

사용자에게 서버 설정 변경 권한을 주면 당신이 감당할 수 없는 변화가 일어날 수 있습니다. 사용자에게 이런 권한을 줄 지 곰곰이 생각해 보세요. 또, 사용자가 원하는 것보다 적은 권한을 주면 기술지원요청이 들어옵니다. 사용자에게 가능한 권한 수준을 명확히 알려야합니다. 사용자에게 AllowOverride를 어떻게 설정하였는지 정확히 알리고 관련 문서를 제공하면 앞으로 혼란을 피할 수 있습니다.



.htaccess 사용법

.htaccess에서 가장 많이 사용되는 기능은 Rewrite engine입니다. Rewrite는 사이트의 URL을 순회시켜주는 아주 유용한 기능입니다. 예를 들어, http://localhost/naver로 접속을 했을 때 http://www.naver.com로 접속이 가능하도록 할 수있습니다.

.htaccess에서 Rewrite engine의 모든 기능을 사용하기 위해서는 파일 상단에 "RewriteEngine On"을 위치시켜 주어야 합니다.

RewriteEngine On
...
..
.......

.htaccess에서 사용 가능한 기본적인 Rewrite 구문은 RewriteRule과 RewriteCond입니다. RewriteRule은 URL을 전환해주는 가장 기본적이고 가장 중요한 구문입니다. RewriteCond는 URL에 입력된 조건을 입력하는 구문입니다.

댓글