.htaccess に書き換えルールがあります
RewriteRule ^page/(.*)$ my-php-page.php?cid=$1
のような文字を含むエンコードされた文字列を渡しています=
-+
これはエンコードされた文字列です。
V1ihnKpip6WpnY7Wm5zn2+6YUtLf2KCh4eKY
完全な URL の場合は、
http://www.example.com/my-php-page.php?cid=V1ihnKpip6WpnY7Wm5zn2+6YUtLf2KCh4eKY
+
現在、これは記号のために機能しません。cid
だから私はその後になるurlencodedを送信したい。
http://www.example.com/my-php-page.php?cid=V1ihnKpip6WpnY7Wm5zn2%2B6YUtLf2KCh4eKY
+
記号は になります%2B
。これはうまく機能しますが、.htaccess の RewriteRule を使用してこれを試した場合を除いて、機能しません。したがって、URLは次のようになります
http://www.example.com/page/V1ihnKpip6WpnY7Wm5zn2%2B6YUtLf2KCh4eKY
mypage.php ファイルは実際にcid
asV1ihnKpip6WpnY7Wm5zn2 6YUtLf2KCh4eKY
を何らかの理由%2B
で空白に置き換えて受け取ります。
なぜそれをしているのかもしれませんか?そして、どうすれば修正できますか。助けてくれてありがとう。
編集
私はちょうどこの解決策を見つけました - PHP $_GET var with urlencode and "&" bug.htaccess
- しかし、文字列を2回するよりもエレガントな解決策があるかどうか疑問に思っていましたurlencode
か?