$_REQUEST[] スーパーグローバルを使用する PHP スクリプトを開発しました。典型的なクライアント要求は、次のもので構成されます。
http://host.name/socnet/add.php?shortid=1&author=NewUser2&comment=Dad%20dad%20dad
この URL は、次の書き換えルールに従って、本番環境の Apache によって同等の https:// URL に書き換えられます。
RewriteRule ^socnet/add.php(.*) https://%{SERVER_NAME}/socnet/add.php$1 [R,L]
PHP 5.3.2 で開発し、NetBeans でデバッグしている間、すべてが期待どおりに動作します$_REQUEST['comment']="Dad dad dad"
しかし、PHP 5.2.4 を実行し、上記の URL 書き換えを行う VPS ホスト環境にデプロイすると$_REQUEST['comment']="Dad%20dad%20dad"
...
したがって$_REQUEST['comment']
、5.2.4 と私の書き換えルールで期待どおりにデコードされた URL ではないようです。
なぜこれが起こっているのか、そして賢明な回避策についてのアイデアをいただければ幸いです。PHP のバージョンに関連する問題ですか、それとももっと微妙な問題ですか? 以前の展開時にこの問題に遭遇し、どのように解決したかを知りたいです。