기본 .htaccess 파일에 덤프 규칙이 적용되지 않도록 2 개의 개별 .htaccess 파일을 어떻게 유지 관리해야합니까?하위 폴더에 별도의 .htaccess 파일을 유지 관리합니다.
예를 들면 : 내가 원하는 모든 URL이^쇼 후 후행 (/.*)?$하여 재 작성 규칙에 따라 컨트롤러/쇼 (htaccess로)
기본 .htaccess 파일에 덤프 규칙이 적용되지 않도록 2 개의 개별 .htaccess 파일을 어떻게 유지 관리해야합니까?하위 폴더에 별도의 .htaccess 파일을 유지 관리합니다.
예를 들면 : 내가 원하는 모든 URL이^쇼 후 후행 (/.*)?$하여 재 작성 규칙에 따라 컨트롤러/쇼 (htaccess로)
에서 만든 htaccess로 가리 키도록,이 될 수 있습니다 .htaccess
파일의 최소 재 작성 (heh)으로 수행됩니다. 우리는 여기 재 작성 두 가지 일을하는지
RewriteEngine On
RewriteRule ^/foo/help/(.*)? /foo/help.php?q=$1
Rewriterule ^blog/(.*)? blog/index.php?id=$1
: 예를 들어, 웹 루트 /var/www/html
에 저장이 .htaccess
파일을 가지고
www.example.com/foo/help/123 -> wwww.example.com/foo/help.php?q=123
www.example.com/blog/myarticle -> www.example.com/blog/index.php?id=myarticle
공지를 처음 RewriteRule
절대 경로를 사용하는 반면 두 번째 경로는 상대 경로를 사용합니다. 내가 /var/www/html/foo/.htaccess
에 처음 RewriteRule
를 이동한다면
파일은 다음과 같이 보일 것이다 : 아무것도 변경할 필요가 없다는 것을
RewriteEngine On
RewriteRule ^/foo/help/(.*)? /foo/help.php?q=$1
참고, 당신은 절대 경로를 사용하고 있기 때문이다. RewriteRule
에서
RewriteEngine On
RewriteBase /blog/
RewriteRule ^(.*)? index.php?id=$1
주 경로가 현재 디렉토리에 그들을 상대하게 제거하고, 지금이다 : 나는, 파일과 같을 것이다 /var/www/html/blog/.htaccess
에 두 번째 RewriteRule
를 이동한다면 이제
/blog
. 하위 디렉토리에서 상대적인 다시 쓰기 규칙을 사용할 때 필요합니다. RewriteBase
지시문에도 유의하십시오.
서브 디렉토리 .htaccess
다시 쓰기 규칙을 사용하는 다른 예는 this question을 확인하십시오.