IT

.htaccess 파일에서 $ 1 [QSA, L]은 무엇을 의미합니까?

lottoking 2020. 8. 29. 21:36
반응형

.htaccess 파일에서 $ 1 [QSA, L]은 무엇을 의미합니까?


나는 나의 것을 바꿔야 하고 내가 .htaccess이해하지 못하는 두 줄이있다.

RewriteCond %{REQUEST_FILENAME} !-l

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

이 라인을 언제 어디서?


완전한 튜토리얼을 제공하는 곳은 완전한 여기서는 짧습니다.

RewriteCond는 기본적으로 "참인 경우에만 다음 RewriteRule 실행"을 의미합니다. !-l경로 요청 (링크가 아니라는 조건 !수단이 아닌 -l수단 링크)

한다한다 RewriteRule은 기본적으로 요청 고객이 일치 여부하는 것을 완료하면 것을 의미한다 ^(.+)$(서버 루트를 제외한 모든 URL과 일치)로, 다시 작성됩니다 그것은 index.php?url=$1에, 대한 요청 고객 의미 olle로 re-작성됩니다 index.php?url=olle).

QSA원래 URL로 전달되는 쿼리가 있다는 것을 의미합니다 ( olle?p=1로 다시 작성 index.php?url=olle&p=1됩니다.

L 규칙이 일치하면 규칙 아래의 RewriteRules를 더 이상 처리하지 않을 경우 의미합니다.

이에 대한 자세한 정보를 보려면 위의 링크를 살펴보십시오. 재 작성 지원은 이해하기가 조금 어려울 수있는 스택 몇 가지 오버플로에 대해 배울 수 있습니다.


다음 조건이 참이면 URL을 다시 작성하십시오.
요청 된 파일 이름이 디렉토리가 아닌 경우

RewriteCond %{REQUEST_FILENAME} !-d

요청 된 파일 이름이 존재하는 일반 파일이 아닌 경우

RewriteCond %{REQUEST_FILENAME} !-f

요청 된 파일 이름이 릭 링크가 아닌 경우

RewriteCond %{REQUEST_FILENAME} !-l

그런 다음 다음과 같은 방법으로 URL을 다시 작성합니다
. 전체 요청 파일 이름을 가져와 "url"쿼리 변수의 값으로 index.php에 제공합니다. 추가 쿼리 매개 변수 (QSA)로 원래 URL의 쿼리를 추가 하고이 .htaccess 파일 (L) 처리를 중지합니다.

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

이 같은 파일에 대한 요청을 처리 version, releaseREADME.md등 (의 / 릴리스 경우와 같이) 정의 나 같은 경우, 엔드 포인트로 중 하나를 처리해야하는 "찾을 수 없습니다."

참고 URL : https://stackoverflow.com/questions/12551382/what-does-1-qsa-l-mean-in-my-htaccess-file

반응형