2011-08-17 5 views
1

PHP에 xdebug를 설치했으며 url 문자열에? XDEBUG_PROFILE = true를 사용하여 프로파일 러를 실행하고 싶습니다. 그러나 쿼리 문자열을 사용하여 mod_rewrite RewriteRule이있는 URL을 사용하여이 작업을 수행하려고하면 프로필이 작성되지 않습니다. 예 :왜 mod_rewrite는? XDEBUG_PROFILE = true를 무시합니까?

RewriteRule ^page/(.*)/last$  page.php?pageid=$1 [L] 

이 기능을 작동시키는 가장 좋은 방법은 무엇입니까?

답변

2

쿼리 문자열을 다시 쓰기에 추가하려면 [QSA] 플래그를 추가해야합니다.

RewriteCond %{QUERY_STRING} ^XDEBUG_PROFILE 
RewriteRule ^page/(.*)/last$  page.php?pageid=$1&XDEBUG_PROFILE=1 [L] 

# Other requests go through as normal 
RewriteRule ^page/(.*)/last$  page.php?pageid=$1 [L] 
+0

감사합니다,하지만 난 그것을 소리처럼 정말하지 않습니다 :

RewriteRule ^page/(.*)/last$ page.php?pageid=$1 [L,QSA] 

만에 XDEBUG_PROFILE 할 수 있습니다. 그렇다면 누구나 내 스크립트에 쿼리 문자열을 전달할 수 있습니까? 따라서 GET 변수를 해커에게 공개합니다. – David

+0

@David 그런 다음 방금 추가 한 것을 시도하십시오. 모든 쿼리 매개 변수는 허용되지 않지만 'XDEBUG_PROFILE'은입니다. 어쨌든 프로덕션 환경에서 xdebug를 비활성화해야하므로 프로파일 링이 끝나면 QSA 만 제거하면됩니다. –

+0

@ david : 누군가가 'example.com/yourscript? hahah = im_in_url_url'을 입력하고 주소 표시 줄에 = stuffz를 추가하는 것을 멈추게 할 수는 없습니다. –

관련 문제