- 締切済み
perlで、日本語を含むURL(勿論、エンコード)のページ作成を考えて
perlで、日本語を含むURL(勿論、エンコード)のページ作成を考えています。 が、ファイルの作成まではうまくいくのですが、いざ、そのURLにアクセスすると 「not found」になってしまいます。 (FTPでのぞくと、確かに、そのファイルは存在するのに、 そのURLにブラウザーからアクセスすると「not found」になってしまいます) そこで、以下の様な小さな実験をしてみました。 <実験> %A3.html という名前のファイルを手動で作り、それをFTPでアップしたところ、 FTP上では「%A3.html」ではなく、「%25A3.html」と表示されました。 そして、 http://nantoka.com/%A3.html http://nantoka.com/%25A3.html 両方にアクセスしたのですが(nantokaの部分は架空のものです)、やはり両者とも「not found」になってしまいます。 ●なぜ、この様な現象が起るのでしょうか? ●どの様にすれば、この問題は解決するのでしょうか? 教えていただければ幸いです。 ちなみに、perlの中では、以下の様な処理をしています。 ---------------------------------------- # キーワードは、UTF-8エンコードサイトから引っ張ってきます。 $keyword="キーワード"; #URLエンコード use URI::Escape; $keyword = uri_escape($keyword); $pageurl ="p/$keyword?.html"; $body ="サイトの中身"; open( FH, '>',$pageurl); print FH "$body"; close( FH ); ---------------------------------------- これで、 http://nantoka.com/p/$keyword.html (例えば、http://nantoka.com/p/%8F%AC%91%F2%88%EA%98Y.html等にアクセスした時に、 ちゃんと表示させたいのです。今現在も、FPTで見ると、当該ディレクトリーに「%8F%AC%91%F2%88%EA%98Y.html」は 存在しているのですが、ブラウザーでアクセスすると「not found」になってしまいます。
- みんなの回答 (2)
- 専門家の回答
お礼
>.txt"でUPしてみて下さい。 アドバイスいただき、ありがとうございます! ただ「.html」ではないと、ホームページとして表示されないので、「.html」でアクセス可能な方法を探っている最中です。 その後、予想以上に裏側で複雑?な事が行われている事が原因らしい事が分かりました。。。 http://q.hatena.ne.jp/1178933983