이 phpinfo()은 문제를 보여줍니다.PHP가 내 쿼리 문자열을 보지 못하는 이유는 무엇입니까?
내가 쿼리 문자열의 URL을 전달 해요 :
_REQUEST["qwerty"] asdfg
_GET["qwerty"] asdfg
또한이 쿼리 문자열 : 결과
?qwerty=asdfg
, 나는이 두 PHP 변수를 목록에 기대 해요 :
_SERVER["QUERY_STRING"] qwerty=asdfg
그러나 작동하지 않습니다. 이 변수들은 전혀 설정되어 있지 않습니다.
나는 lighttpd를 사용하고 있습니다. 이것은 또는 문제와 관련,하지만 난 도메인의 페이지의 대부분을 워드 프레스를 사용하고 있기 때문에 내 greengar.com-lighttpd.conf가가, 다음과 같습니다되지 않을 수 있습니다 다시
### Generated by Elliot
### Wordpress: http://www.greengar.com
url.rewrite += (
"^/(wp-.+).*/?" => "$0",
"^/(blog/wp-.+).*/?" => "$0",
"^/(.*.php)" => "$0",
"^/(.*.pdf)" => "$0",
"^/(.*.png)" => "$0",
"^/(.*.html)" => "$0",
"^/(.*.ico)" => "$0",
"^/(.*.gif)" => "$0",
"^/(.*.txt)" => "$0",
"^/(images).*/?" => "$0",
"^/(sitemap.xml)" => "$0",
"^/(xmlrpc.php)" => "$0",
"^/(.+)/?$" => "/index.php/$1"
)
, 난 몰라 이것이 문제와 관련이 있는지 확실히 알아야합니다.
제 질문은 : 왜 PHP가 쿼리 문자열을 보지 않았습니까?
어떻게 해결할 수 있습니까?
다음은 정상적으로 쿼리 문자열을 보는 phpinfo()입니다. 이것은 Apache를 실행중인 다른 서버에서 실행 중입니다. 하단에서
+1 동의! : D – mauris
나는 정규 표현식을 배우는 데 몇 시간을 보냈다. 그래서 나는 쿼리 문자열과 일치하고 전달할 변경을 자신있게 할 수 있었다. 여기 있습니다 : "^/(. *. php) (\? (. *))?" => "$ 0", (내 질문에 코드의 6 번 줄 바꾸기) – Elliot
관련 : 아파치에이 문제가있었습니다. .htaccess의 RewriteBase 행이 엉망이되어 버렸습니다.'RewriteBase/# comment'를 말할 수 없습니다. –