この記事は主に、Apache が .htaccess ファイルで RewriteRule リダイレクトを使用した後、URL のプラス記号が解析できない問題の解決について説明します。これには特定の参考値があります。興味のある友人はそれについて学ぶことができます。
今日、.htaccessを使って擬似静的にしたところ、不思議なことが起こりました。URLにCが存在すると問題が発生します。Cという単語を処理すると、どうやっても$_GETが取得できません。 C スペースを取得できるのは私だけです。
最初は urlencode で処理されていないのかと思いましたが、後で確認すると確かに処理されており、バックグラウンドでトラブルシューティングを行った結果、書き換えの問題であることが判明しました。単一ファイル環境では、C を取得できます。単語は、もちろん、urlencode されています。
理由: APACHE がパラメーターを取得した後に独自に URLdecode 処理を実行するため、リライトでは単語 c を取得できません。 C でプラス記号を取得できない問題について
これまでに見た解決策は 1 つだけですが、これは PHP 公式 Web サイトにも記録されています。c を処理するときに、urlencode 処理を 2 回実行します。つまり、urlencode(urlencode) ('C ')) を書き換えると、C という単語を取得できるようになります。
添付のアドレスは、PHP.NET 上の特定のアドレス http://www.php.net/urlencode
関連チュートリアル: PHP ビデオ チュートリアル
以上がApache が .htaccess ファイルでリダイレクトした後、URL のプラス記号が解析できない問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。