2009-06-14 5 views
1

관리자 폴더에 맞게이 현재 다시 쓰기 규칙을 변경해야합니다. 나는이 폴더 구조가하위 폴더 및 모드 다시 쓰기

 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z]+?)/([a-z]+?)/(.*)$ index.php?model=$1&view=$2&params=$3 [L,NS] 

: 여기 내 현재의 모드 - 재 작성 코드 htaccess로 파일이 "관리자"인 경우

 
ROOT: http://www.domain.com/ 
ADMIN: http://www.domain.com/admin/ 

를 제대로 작동 폴더. 내가 얻을 :

 
URL: http://domain.com/admin/faq/edit/13/asc 
(NOTE: http://domain.com/admin/.htaccess) 
Array 
(
    [model] => faq 
    [view] => edit 
    [params] => 13/asc 
) 

하지만, 경우는 루트 폴더에 내가 얻을의 :

 
URL: http://domain.com/admin/faq/edit/13/asc 
(NOTE: http://domain.com/.htaccess) 
Array 
(
    [model] => admin 
    [view] => faq 
    [params] => edit/13/asc 
) 

내가 해당 관리 폴더를 인식 할 수 모드 - 재 작성을 원하고 실제 디렉토리이며, 별도의 재를 사용 쓰기 규칙.

미리 감사드립니다.

답변

1

를 통해 직접 규칙의 조건을 포함하는 것입니다. 핵심 포인트는 [L]입니다.이 모듈은 mod-rewrite가이 규칙이 일치하는 경우 나머지 규칙 실행을 중지하도록 지시합니다. admin 폴더에 둘 이상의 규칙이 필요한 경우 RewriteRule 문을 더 추가하기 만하면 마지막에 [L] 만 추가하면됩니다.

그렇게해야합니다.

2

다른 조건 전에

RewriteCond ^admin/ 
RewriteRule (your Rule) [L] 

를 추가합니다. 그 트릭을해야합니다.

RewriteCond ^admin/ 
RewriteRule (whatever rule you need for the admin folder) [L] 

RewriteEngine On 후이 권리를 추가

또 다른 방법은 루트의 .htaccess이 추가

RewriteRule ^admin/(rest_of_regex)$ (regex_stuff) [L]