電子書籍の厳選無料作品が豊富!

URLバーに日本語を表示させたいのですが、うまくいかずに困っています。
ドメイン名、ディレクトリ名、htmlファイル名どれも日本語にしたいです。

例えば以下のようにURLバーに表示させたいとします。
オーケー.com/悩み/日本語.html

私が行った手順としては
・「オーケー.com」 をPunycodeに変換 (xn--kcko8tb.com)
・「悩み」 をURLエンコード (%94Y%82%DD)
・「日本語.html」 をURLエンコード (%93%FA%96%7B%8C%EA.html)

そして、このURLに飛ぶための<a>タグには以下のように表記しました。
<a href="xn--kcko8tb.com/%94Y%82%DD/%93%FA%96%7B%8C%EA.html">サイト</a>

サーバにアップしてあるサイトの構成は
「index.html」 があって、同階層に
「悩み」(フォルダ) があります。
「悩み」 の中に 「日本語.html」 が置いてあります。

------

しかしこれではうまくいきませんでした。
クリックすると飛ぶことは飛ぶのですが、

URLバーには
FireFoxの場合 --- xn--kcko8tb.com/%94Y%82%DD/%93%FA%96%7B%8C%EA.html
Crome、IE9の場合 --- オーケー.com/%94Y%82%DD/%93%FA%96%7B%8C%EA.html
と表示されてしまいます。

FireFox、Crome、IE9 どれで見ても
オーケー.com/悩み/日本語.html と表示させたいのですが。。

アップしたファイルのメタタグには、いずれも以下のように表記しています。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

他人のサイトを見ると、全て日本語で表記されているサイトもちらほらあり、
どうやってやっているのか、やり方を探しているのですが見つかりません。。

どなたかご存知の方いらっしゃいましたら、
お教えいただけないでしょうか。
何卒ご教授よろしくお願いいたします。。

A 回答 (2件)

ドメイン名は日本語ドメインでよいのです。


※国際化ドメイン名 ( http://www.nic.ad.jp/ja/dom/idn.html )

 ファイル名ですが、これは不可能と考えてください。あなたが保存するファイル名はあくまでascii文字です。
 それを、日本語で表示させるためには、PATH_INFOとして受け取って、サーバー側で処理する必要があります。
 たとえばwikipwdiaは、入力をPATH_INFOで受け取りますよね。
データの受け取りには
QUERY_STRING いわゆる URLの?以降の部分です。formからの入力だと method=get
STDN     いわゆる標準入力--キーボードからと同じ formで送信するときのmetho=POST
PATH_INFO  極端な話、ドメイン以下はすべてPATH_INFOです。
  サーバーは要求されたファイルがないと、それをPATH_INFOに格納しては、その上のディレクトリを探します。最終的にルートまでさかのぼるのですが、ルートないしその途中に実行プログラムがあると、そのプログラムは、PATH_INF,STDN,QUERY_STRINGを使ってプログラムを実行します。
 QUERY_STRINGをURLエンコードにしたがって、元の文字列に戻すと良いでしょう。その後、
悩み/→ nayami/
日本語→ japanese.html
で書き換えます。そして
open(IN "/nayami/japanese.html);
while(<IN>){print OUT;}

とか・・

[例]
環境変数・フォーム・クッキー ( http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/test. … )で、/test.html以降はPATH_INFOです。?以降はQUERY_STRINGです。
    • good
    • 0

あまり詳しくありませんが、


日本語ドメインを取得すれば良いのではないでしょうか。
https://muumuu-domain.com/?mode=order_form&state …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!