2014-05-13 4 views
7

[L][end]의 차이점은 무엇입니까?
lastend은 같은가요? 내 .htaccess에서.htaccess [L] 및 [end] 플래그

나는

RewriteEngine On 
RewriteBase/

# I use this only to test my $_SERVER variables 
RewriteRule ^phpinfo phpinfo.php [QSA,L] 

RewriteRule ^(.*)$ index.php?data=$1 [QSA,L] 

end 모두의 행동과 L이 동일 있습니다. 나는 더 복잡한 예에서 그렇게되지 않을 것이라고 생각합니다. 그래서 저에게 그런 예를 줄 수 있습니까? docs 가입일

:

에서 [L] 플래그는 룰 세트를 처리 mod_rewrite를 중지시킨다. 대부분의 컨텍스트에서는 규칙이 일치하면 더 이상 규칙이 처리되지 않음을 의미합니다. 에서 [END] 플래그를 사용

뿐만 아니라 ([L] 등) 재기록 처리의 현재 라운드를 종료하지만 별 디렉토리에 발생하는 임의의 후속 재 처리를 방지 (htaccess) 컨텍스트.

이것은 무엇을 의미합니까?

+0

[내 설명은 여기를 참조하십시오.] (https://stackoverflow.com/a/47470720/444255). 여러 라운드 또는 다시 쓰기의 이점을 보지 않는 한 항상 End를 End로 지정하십시오. :-) –

답변

5

글로벌 아파치 구성과 관련이 있습니다. httpd.conf에 [L]을 사용하면 여전히 .htaccess에 몇 가지 규칙을 적용 할 수 있습니다. 하지만 [END]을 사용하면 게임이 끝났고 .htaccess는 아무 것도 추가 할 수 없습니다.

+0

'L' 플래그가 내가 작성한 모든 규칙을 금지합니까? –

+3

[L] 동일한 레벨에서 더 이상의 규칙을 방지합니다. [END]는 동일하거나 상위 레벨에서 규칙을 방지합니다. – JimiDini