2010-11-18 6 views
2

私はこれを持っています:この書き換えが機能しない理由を理解するのに役立ちますか?

 RewriteRule ^show_shop/([0-9]+)$ show_shop.php?id=$1 [NC] 

"domain.com/show_shop/4"のようなURLを入力すると、URLが取得され、 "show_shop.php"が表示されます。だから書き直しのkindof作品です。

ただし、スラッシュの後ろのnrは機能しません。私はこのコードを使用します:

 $id = $_GET['id']; 

しかし、それは空白になります、つまり何もありません。それはPHPによると設定されていません。

これの原因は何か。

参考このようなルールはたくさんありますが、うまくいきますが、これは面倒です...

この "show_shop.php"のようなURLを手動で入力してください(本当のURL) id = 4 "は正常に動作し、IDはGETですべて正常です。

どんなアイデアですか?

+0

を試してみてください%すべきではありません。 – Pickle

+0

真剣に、これは**セキュリティとは全く関係ありません**。また、あなたはserverfaultのほうがいいかもしれませんが、冗談はありません。 – rook

答えて

0

idが落下なっている場所を確認するために$ _SERVERおよび$ _REQUESTをダンプQSAフラッグ

RewriteRule ^show_shop/([0-9]+)$ show_shop.php?id=$1 [NC,QSA] 
0

はそれがなく、$

RewriteRule ^show_shop/([0-9]+)$ show_shop.php?id=%1 [NC] 
+0

私はそうは思わない。 – mellamokb