2009-08-14 3 views
2

현재이 내가 템플릿을 렌더링하고, 그것을 URL을 제공 인덱스에서 그래서 내 htaccess로이상한 htaccess로 질문

RewriteEngine on 
#rewrite the url's 
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

이다.

는 일반적으로 페이지는이 www.whatever.com/?url=test/page

과 같을 것이다 그러나 재 작성으로는 www.whatever.com/test/page 그래서

간다 질문 : {

나는 이것의 영향을받지 않는 사이트의 관리자 섹션을 가지고 있습니다. 그래서/admin은 폴더 트리의 admin 폴더에 액세스해야합니다. 도움

웨스

답변

2

이 작업을 수행하는 가장 좋은 방법에 대한 감사하지 않는 파일 시스템에있는 URL의 실제 파일과 디렉토리를 다시 작성하는 것입니다. 것을

RewriteCond %{REQUEST_FILENAME} !-s [OR] 
RewriteCond %{REQUEST_FILENAME} !-l [OR] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

지금,이 말은, 각각 전용 URL을 재 작성 :이 아닌 실제 파일 (> 0 크기)가 아닌 심볼릭 링크, 그리고 이것은 규칙에 몇 재 작성 조건을 추가함으로써 달성 될 수있다 디렉토리가 아닙니다.

양자 택일로, 당신은 당신의 규칙은 당신의 admin 디렉토리와 일치하지 않는 확인 수 :

첫 번째 예는 지금까지
RewriteCond %{REQUEST_URI} !^/admin 
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

가장 유연한 그러나, 그것은 정적 파일을 방해하지 않으므로, 이미지 등).