.htaccess에 주석 추가


89

이것이 작동하는 이유 :

RewriteRule (.+)/$ $1

그리고이 작품 :

RewriteRule (.+)/$ $1 [L] #bla bla bla

그러나 이것은 작동하지 않습니다.

RewriteRule (.+)/$ $1 #bla bla bla

답변:


143

.htaccess의 주석은 다른 문에 추가되지 않고 자체 줄 에 있어야합니다 .

마지막 규칙은 주석이 실제로 주석이 아니기 때문에 작동하지 않습니다. htaccess로의 댓글은 시작해야 로모그래퍼 #하지 임의 어디서나 (행의 시작에 있어야합니다)합니다.

두 번째 경우에는 #bla bla blaRewriteRule지시문 의 네 번째 매개 변수로 해석되며 이는 단순히 무시됩니다.

마지막 경우 #bla bla bla에는 세 번째 매개 변수로 해석되며 RewriteRule의 경우 플래그가 이동하는 위치 #bla bla bla이며 mod_rewrite가 이해하는 플래그가 아니므로 오류가 발생합니다.


7
"#은 줄의 시작 부분에 있어야합니다"와 같이 대답을 수정하는 것이 좋습니다. 어쨌든 감사합니다!
user1032531

@ user1032531 죄송합니다, 그게 내가 말을 무엇을 의미
존 린

주석이 <IfModule> 안에있을 수 있습니까?
Daniel Springer

이것은 내가 여러 번 다시 배운 것입니다. 시간을 낭비 할 수 있습니다. 감사합니다.
Xonatron

1
#줄의 "시작"에 있어야 하지만 앞에 공백이있을 수 있습니다. (초과) .htaccess의 공백은 무시되며 줄의 시작 부분을 포함하여 어디에서나 "뿌릴 수 있습니다". 즉, #행에서 공백이 아닌 첫 번째 문자 여야합니다. 나는 #가장 왼쪽 열에있는 문자 1이어야 한다고 잘못 생각 했었다!
SherylHohman

29

아파치의 설정 파일 형식 (이 중 .htaccess파일이 하나의 예입니다) 기술적으로 인라인 주석 만 전체 줄 주석 (즉, 선 지원하지 않는 시작 A를을 #).

해시 문자 "#"로 시작하는 줄은 주석으로 간주되며 무시됩니다. 구성 지시문 다음 줄에는 주석을 포함 할 수 없습니다. - 공식 Apache 2.4 매뉴얼

그러나 혼란스럽게도 각 모듈은 지시어에 대한 입력을 구문 분석 mod_rewrite할 수 있습니다. 따라서 다음으로 시작하는 모든 줄에서 수행 할 작업을 결정합니다.RewriteRule

나는 확실히 모르지만 내 생각 즉 mod_rewrite사후이 모든 것을 무시 [flags]하고는 #전혀 사실 필요가 없습니다.

그러나 가장 좋은 방법은 항상 자신의 줄에 주석을 유지하는 것입니다. 주석을다는 지시문이 무엇이든 작동하기 때문입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.