2013-06-11 2 views
1

공유 호스팅을 사용하여 .htaccess 파일을 디버깅하려고합니다. 나는 http://blog.tolleiv.de/2010/01/debugging-mod_rewrite/을 발견했다. 내가 들어오는 쿼리 문자열htaccess 디버깅 기술 지원

을 반향 언급 한 기술을 사용하고 싶습니다 지금까지 내가 가진 :

RewriteEngine on 
RewriteCond %{QUERY_STRING} !vardump 
RewriteRule (.*) http://mydomain.con/$1?vardump&reqhost=%{QUERY_STRING} [R=301,L,QSA] 

내으로 public_html에 넣고 때/.htacess 나는

http://mydomain.com/?vardump&reqhost= 
를 얻을 수 내 브라우저 막대에

수신 요청이 표시되지 않는 이유는 무엇입니까?

+0

이 Anubhava를 살펴 주셔서 감사합니다. 그렇다면 쿼리를 인쇄하거나 조회하는 가장 좋은 방법은 무엇입니까? 수정 된 쿼리를 다시 작성한 후 들어오는 쿼리를 볼 수 있어야합니까? – user61629

+0

현재 규칙에 따라 디버깅 할 수 있습니다. 이 URL (http : //mydomain.com/contacts? foo = bar')을 열면 브라우저에 원본 및 수정 된 검색어가 표시됩니다. 그것은 당신의 브라우저에'http : //mydomain.com/contacts? vardump & reqhost = foo = bar & foo = bar'를 보여줄 것입니다. – anubhava

+0

다시 한번 감사드립니다. 질문을 넣어 주시면 고맙습니다. – user61629

답변

1

현재 규칙에 따라 디버깅 할 수 있습니다. 다음 URL을 열어보십시오 : http://mydomain.com/contacts?foo=bar 그러면 브라우저에 원본 및 수정 된 검색어가 표시됩니다. 브라우저에 http://mydomain.com/contacts?vardump&reqhost=foo=bar&foo=bar가 표시됩니다.

당신이 당신의 규칙에 따라 http://mydomain.com를로드 그러나 경우에 참으로 모두 $1http://mydomain.com/?vardump&reqhost= 될 것이며, %{QUERY_STRING}는 비어 있습니다. 또한 시험을 위해 R=301을 사용하지 않는 것이 더 좋으며, R=302으로하십시오. 테스트하기 전에 브라우저 캐시를 한 번 삭제하십시오.

mod_rewrite 규칙을 테스트하는 동안 R=301 (영구 리디렉션)을 사용하지 마십시오.

+0

감사합니다. 매우 유용합니다! – user61629

+0

당신을 환영합니다. 다행이라고 생각합니다. – anubhava

관련 문제