[호스팅]
htaccess의 [QSA, L]에서 L은 무엇입니까?
하우코드
본문
htaccess의 [QSA, L]에서 L은 무엇입니까?
QSA는 원래 URL과 함께 전달 된 쿼리 문자열이있는 경우 다시 쓰기에 추가됨을 의미합니다 (olle? p = 1은 index.php? url = olle & p = 1로 다시 작성됩니다.
L은 규칙이 일치하면이 규칙 아래의 RewriteRules를 더 이상 처리하지 않음을 의미합니다.
안녕하세요, L의 사용을 설명하는 쉬운 예는 무엇입니까? 위의 설명을 이해할 수없는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사.
QSA플래그 수단은 기존의 쿼리 문자열을 추가하는 후 URI가 다시 작성되었습니다. 예:
URL =http://example.com/foo/bar?q=blah
규칙:
RewriteRule ^foo/(.*)$ /index.php?b=$1
결과 =/index.php?b=bar
어떻게 q=blah사라 졌는지 주목하십시오 . 기존 쿼리 문자열이 규칙의 대상 (b = $ 1)에있는 문자열 대신 삭제되기 때문입니다. 이제 QSA플래그 를 포함하면 :
RewriteRule ^foo/(.*)$ /index.php?b=$1 [QSA]
결과는 다음과 같습니다./index.php?b=bar&q=blah
L플래그는 단순히 따르는 것이 어떤 규칙을 적용 중지하는 것을 의미합니다. 동일한 URL이 http://example.com/foo/bar?q=blah주어지고 규칙이 주어집니다.
RewriteRule ^foo -
RewriteCond %{REQUEST_URI} !^/bar.php
RewriteRule ^(.*)$ /bar.php?z=$1
첫 번째 규칙이 적용되고 URI가 변경되지 않고 -대상을 통해 전달됩니다 . 그런 다음 다시 쓰기 엔진이 다음 규칙을 처리하고 URI가 /bar.php?z=foo/bar. L끝에 를 추가하면 어떻게 되나요?
RewriteRule ^foo - [L]
RewriteCond %{REQUEST_URI} !^/bar.php
RewriteRule ^(.*)$ /bar.php?z=$1
URL http://example.com/foo/bar은 첫 번째 규칙에서 변경되지 않고 전달 된 다음 플래그 때문에 중지됩니다L . URL이 http://example.com/something/else다음과 같으면 첫 번째 규칙이 일치하지 않고 두 번째 규칙이 적용되고 URI를 다음과 같이 다시 작성합니다./bar.php?z=something/else
재 작성 엔진은 URI 변경이 중지 될 때까지 모든 규칙을 반복 하므로 L플래그는 반복을 방지 하지 않으며 현재 반복에 추가 규칙 만 적용 되지 않습니다 .
.htaccess 플래그 목록
C (다음 규칙과 연결됨)
CO = cookie (지정된 쿠키 설정)
E = var : value (환경 변수 var을 값으로 설정)
F (금지됨-403 헤더를 사용자에게 보냅니다.)
G (사라짐-더 이상 존재하지 않음)
H = handler (세트 핸들러)
L (마지막-처리 규칙 중지)
마지막 규칙 : 이전 지시문이 처리 된 후 다시 쓰기를 중지하도록 서버에 지시합니다.
N (다음-규칙 처리 계속)
NC (대소 문자 구분 안함)
NE (출력에서 특수 URL 문자를 이스케이프하지 않음)
NS (요청이 하위 요청 인 경우이 규칙 무시)
P (프록시-즉, 아파치는 대체 섹션에 지정된 원격 콘텐츠를 가져 와서 반환해야 함)
PT (통과-추가 핸들러 (예 : mod_alias)로 URL을 처리 할 때 사용)
R (새 URL 로의 임시 리디렉션)
R = 301 (새 URL로 영구 리디렉션)
QSA (요청에서 대체 URL로 쿼리 문자열 추가)
S = x (다음 x 규칙 건너 뛰기)
T = mime-type (강제 지정된 MIME 유형)
재 작성 규칙의 끝에 플래그가 추가되어 Apache에 규칙을 해석하고 처리하는 방법을 알려줍니다. 그들은 아파치에게 규칙을 대소 문자를 구분하지 않는 것으로 처리하도록 지시하고, 현재 규칙이 일치하는 경우 처리를 중지하거나 다양한 다른 옵션을 지정하는 데 사용할 수 있습니다. 쉼표로 구분되며 대괄호 안에 포함됩니다.
참조 URL : https://stackoverflow.com/questions/16468098/what-is-l-in-qsa-l-in-htaccess
QSA는 원래 URL과 함께 전달 된 쿼리 문자열이있는 경우 다시 쓰기에 추가됨을 의미합니다 (olle? p = 1은 index.php? url = olle & p = 1로 다시 작성됩니다.
L은 규칙이 일치하면이 규칙 아래의 RewriteRules를 더 이상 처리하지 않음을 의미합니다.
안녕하세요, L의 사용을 설명하는 쉬운 예는 무엇입니까? 위의 설명을 이해할 수없는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사.
QSA플래그 수단은 기존의 쿼리 문자열을 추가하는 후 URI가 다시 작성되었습니다. 예:
URL =http://example.com/foo/bar?q=blah
규칙:
RewriteRule ^foo/(.*)$ /index.php?b=$1
결과 =/index.php?b=bar
어떻게 q=blah사라 졌는지 주목하십시오 . 기존 쿼리 문자열이 규칙의 대상 (b = $ 1)에있는 문자열 대신 삭제되기 때문입니다. 이제 QSA플래그 를 포함하면 :
RewriteRule ^foo/(.*)$ /index.php?b=$1 [QSA]
결과는 다음과 같습니다./index.php?b=bar&q=blah
L플래그는 단순히 따르는 것이 어떤 규칙을 적용 중지하는 것을 의미합니다. 동일한 URL이 http://example.com/foo/bar?q=blah주어지고 규칙이 주어집니다.
RewriteRule ^foo -
RewriteCond %{REQUEST_URI} !^/bar.php
RewriteRule ^(.*)$ /bar.php?z=$1
첫 번째 규칙이 적용되고 URI가 변경되지 않고 -대상을 통해 전달됩니다 . 그런 다음 다시 쓰기 엔진이 다음 규칙을 처리하고 URI가 /bar.php?z=foo/bar. L끝에 를 추가하면 어떻게 되나요?
RewriteRule ^foo - [L]
RewriteCond %{REQUEST_URI} !^/bar.php
RewriteRule ^(.*)$ /bar.php?z=$1
URL http://example.com/foo/bar은 첫 번째 규칙에서 변경되지 않고 전달 된 다음 플래그 때문에 중지됩니다L . URL이 http://example.com/something/else다음과 같으면 첫 번째 규칙이 일치하지 않고 두 번째 규칙이 적용되고 URI를 다음과 같이 다시 작성합니다./bar.php?z=something/else
재 작성 엔진은 URI 변경이 중지 될 때까지 모든 규칙을 반복 하므로 L플래그는 반복을 방지 하지 않으며 현재 반복에 추가 규칙 만 적용 되지 않습니다 .
.htaccess 플래그 목록
C (다음 규칙과 연결됨)
CO = cookie (지정된 쿠키 설정)
E = var : value (환경 변수 var을 값으로 설정)
F (금지됨-403 헤더를 사용자에게 보냅니다.)
G (사라짐-더 이상 존재하지 않음)
H = handler (세트 핸들러)
L (마지막-처리 규칙 중지)
마지막 규칙 : 이전 지시문이 처리 된 후 다시 쓰기를 중지하도록 서버에 지시합니다.
N (다음-규칙 처리 계속)
NC (대소 문자 구분 안함)
NE (출력에서 특수 URL 문자를 이스케이프하지 않음)
NS (요청이 하위 요청 인 경우이 규칙 무시)
P (프록시-즉, 아파치는 대체 섹션에 지정된 원격 콘텐츠를 가져 와서 반환해야 함)
PT (통과-추가 핸들러 (예 : mod_alias)로 URL을 처리 할 때 사용)
R (새 URL 로의 임시 리디렉션)
R = 301 (새 URL로 영구 리디렉션)
QSA (요청에서 대체 URL로 쿼리 문자열 추가)
S = x (다음 x 규칙 건너 뛰기)
T = mime-type (강제 지정된 MIME 유형)
재 작성 규칙의 끝에 플래그가 추가되어 Apache에 규칙을 해석하고 처리하는 방법을 알려줍니다. 그들은 아파치에게 규칙을 대소 문자를 구분하지 않는 것으로 처리하도록 지시하고, 현재 규칙이 일치하는 경우 처리를 중지하거나 다양한 다른 옵션을 지정하는 데 사용할 수 있습니다. 쉼표로 구분되며 대괄호 안에 포함됩니다.
참조 URL : https://stackoverflow.com/questions/16468098/what-is-l-in-qsa-l-in-htaccess
관련링크
- https://goodcopy.tistory.com/93 487회 연결
댓글목록
등록된 댓글이 없습니다.