- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ディレクトリ名に日本語をエンコードしたものを入れる)
日本語をエンコードしたディレクトリ名やURLにアクセスできない問題の解決方法
このQ&Aのポイント
- ディレクトリ名に日本語をエンコードしたものを入れても、リンクを張ってアクセスできません。
- 日本語をエンコードした文字列を作成する方法は、urlencode()関数を使用することができます。
- しかし、ただエンコードするだけではアクセスできない場合もあります。その場合は、URLエンコードされた文字列をデコードして正しいURLに変換する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
何をしたのかよくわかりませんが、document rootに、test/%5B%E3%81%A6%E3%81%99%E3%81%A8%5D/ という名前のディレクトリがあり、そこにindex.phpというファイルはあるのですか? 404ということは、ディレクトリ名が間違っているとかではないのかな?
その他の回答 (1)
- Cupper-2
- ベストアンサー率29% (1342/4565)
回答No.1
どのようなエンコードをしたのか分かりませんが、 先頭の %5B と 末尾の %5D は不要な気がします。
質問者
補足
[] も含めてエンコードしてるんですよ [てすと] という文字列をurlencode()関数で
お礼
この度はありがとうございます。 当方のコードにミスが御座いました。解決しましたので終了させて頂きます。
補足
はい。あります。 ですが、Index of / からURLを見てみると http://○○○.com/test/%5B%E3%81%A6%E3%81%99%E3%81%A8%5D/index.php ではなく http://○○○.com/test/%%255B%25E3%2581%25A6%25E3%2581%2599%25E3%2581%25A8%255D/index.php になっておりました。こちらならアクセス可能です。 問題は、/%5B%E3%81%A6%E3%81%99%E3%81%A8%というディレクトリを作ったのに、 勝手に/%%255B%25E3%2581%25A6%25E3%2581%2599%25E3%2581%25A8%255D に変わってしまったことです。