2011-01-12 5 views
1

$ GET配列をチェックしようとしています。しかし、私はいくつか問題があります。チェックの問題

URLます。http:// www.my.qqq /秒=レッスン

コード:

if (!empty($_GET['s'])) { 
echo '1'; 
} 
else { 
echo '0'; 
} 

結果:0

しかし、私は、HTTPを使用する場合:// WWW。 my.qqq/index.php?s = lessons

しかし、GET以外の両方のアドレスを使用している場合、スクリプトは正常に動作しています。

なぜこのGETはhttp:// www.my.qqq /?s =レッスンで動作せず、http:// www.my.qqq/index.php?s = lessons?

PS。 OS:Windowsの

私の問題だったのRewriteRule ^([-Z _] *)/ $のindex.phpをS

誰かが知っている場合= $ 1:??のhttpにする方法:// www.my. qqq /?s =レッスンとhttp:// www.my.qqq/lessons /は一度に利用できますか?

回答:??すべてのありがとう書き換えルール^の最後に[QSA]フラグ([-Z _] *)/ $ index.phpをS = $ 1 [QSA]

助けを!

+1

「http:// www.my.qqq /?s = lessons'を実行するとどうなりますか?ディレクトリに別のインデックスファイル(index.htmなど)がありますか? –

+0

そのコンテキストのPHPスクリプトで '$ _SERVER ['REQUEST_URI']'の値は何ですか?リクエストURIからGETパラメータを削除するリダイレクトはありますか? – scoffey

+0

私はhttp:// www.my.qqq /?s =レッスンを行うと、http:// www.my.qqq/index.php?s = GET以外のレッスンと同じ結果になります。 – Mirgorod

答えて

1

使用しているWebサーバーについては言及していません。これはURL書き換えルールに問題があるようです。 Apacheの場合は、mod_rewriteがクエリ文字列(?の後の部分)を保持するようにしてください。

関連する問題