URLバーに日本語を表示させたい

このQ&Aのポイント
  • URLバーに日本語を表示させたいのですが、うまくいかずに困っています。ドメイン名、ディレクトリ名、htmlファイル名どれも日本語にしたいです。
  • URLバーにはFireFoxの場合はPunycodeで表示され、CromeやIE9の場合は日本語で表示されますが、全てのブラウザで日本語で表示させたいです。
  • 他のサイトではどのように日本語で表示しているのか調べてもわからず、解決策を探しています。ご存知の方がいらっしゃいましたら教えていただきたいです。
回答を見る
  • ベストアンサー

URLバーに日本語を表示させたい

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" /> 他人のサイトを見ると、全て日本語で表記されているサイトもちらほらあり、 どうやってやっているのか、やり方を探しているのですが見つかりません。。 どなたかご存知の方いらっしゃいましたら、 お教えいただけないでしょうか。 何卒ご教授よろしくお願いいたします。。

noname#179453
noname#179453
  • HTML
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.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.html/%E6%97%A5%E6%9C%AC%E8%AA%9E/%E3%82%84%E3%81%BE%E3%81%A8.html?name=tarou )で、/test.html以降はPATH_INFOです。?以降はQUERY_STRINGです。

その他の回答 (1)

回答No.1

あまり詳しくありませんが、 日本語ドメインを取得すれば良いのではないでしょうか。 https://muumuu-domain.com/?mode=order_form&state=jp_search

関連するQ&A

  • ディレクトリ名を日本語URLにするには?

    MTでブログを運用しています。 トップドメインの日本語URLではなく ディレクトリを切る際に日本語URL化したいと思っています。 カテゴリ名やエントリー名を日本語化するのではなく 単にディレクトリ名だけを日本語化する方法を探しています。 http://abc.com/ディレクトリ名を日本語化するには?/   ↓(ディレクトリをUTFエンコードすると以下のようなURL) http://abc.com/%83f%83B%83%8c%83N%83g%83%8a%96%bc%82%f0%93%fa%96%7b%8c%ea%89%bb%82%b7%82%e9%82%c9%82%cd%81H/ サーバー上で新規ディレクトリを作る際に UTFエンコードした名称をつけるだけはサイトは表示されませんでした。 どなたか方法をご存知の方がおられましたらどうぞよろしくお願いします。

  • アドレスバーに表示されているURLの意味について

    たとえば、googleで「日本語」と検索したときに アドレスバーに、 「http://www.google.co.jp/search?q=%93%FA%96%7B%8C%EA&ie=Shift_JIS&num=20&hl=ja&lr=lang_ja&btnG=Google+%8C%9F%8D%F5」 と表示されます。 このURLの意味を教えてください。 「lr=lang_ja」は、検索結果を日本語表示するということはわかるのですが、あとはさっぱり分かりません。 それと、この意味が分かるHPや本を紹介してください。 お願いします。

  • 日本語URLへの移動

    Perl、CGI初心者です。 HTMLのフォームの選択結果を元にURLを生成し、 そのURLへアクセスするプログラムを作成しています。 URLはPDFファイルやWordファイルになり、URL(ファイル名)には 日本語が含まれています。 print "Location: $URL\n\n";としてURLへ移動するプログラムを 作成したのですが、日本語処理がうまくいっていない(?)ようで Not Foundとなってしまいます。 なお、NotFoundが表示された状態でブラウザ(IE6)の移動を押下すると テキストとしてPDFやWordファイルを開きます。 #NotFoundの時点ではブラウザの文字コードがISOになっています。 $URL =~ tr/+/ /; $URL =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1) )/ge; &jcode'convert( *value, 'sjis' ); と日本語処理はしています。 また、ファイルを開くのではなく、以下のようにリンクを貼った場合は、 リンク先は正しく開くことができます。 <a href="$URL" target="_blank">$URL<a><br> 原因、対策を教えて下さい。

    • ベストアンサー
    • Perl
  • firefoxで日本語ドメイン名に変換されないサイトについて

    firefoxでサイトを閲覧しているのですが、 例えば、下のサイトではURL欄が日本語ドメインになって表示されます。 http://日本語.jp/access/ 下のサイトでは日本語に変換されずにPunycodeで表示されます。 http://xn--eckwd4c7c5976acvb2w6i.com/ 両方ともIE8では日本語に変換されます。 これはどうしてなのでしょうか?

  • 日本語ドメインのSEO対策 被リンクについて

    日本語.comで作成したサイトでSEO対策を行います。 被リンクを依頼する際のURLは、 a href="http://日本語.com/" と a href="http://xn--punycode.com/" では、どちらが効果的でしょうか? よろしくお願い致します。

    • 締切済み
    • SEO
  • URLの一部分「http://www.abc.com/日本語」のように

    URLの一部分「http://www.abc.com/日本語」のように/右部分に日本語化されているURLを見かけます。これはどうすればできるのでしょうか?

  • エクセルのハイパーリンクで日本語ドメイン表記にならない方法は?

    エクセル2002を使用しています。 ハイパーリンク機能を利用していますが、たとえばPunycode表記のドメイン名 http://xn--qevp0x.com/ をハイパーリンクに設定すると http://無料.com/ といいった感じで、自動的に日本語ドメイン表記のアドレスに変わってしまいます。 ハイパーリンクの設定を http://xn--qevp0x.com/ のように、Punycode表記のままにしておきたい(日本語URL表記にしたくない)のですが、 どのようにすればよいでしょうか? よろしくお願いいたします。

  • 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」になってしまいます。

  • URLの中に日本語のhtmlがあった場合、

    URLの中に日本語のhtmlがあった場合、 何か不都合はあるのでしょうか? 例: 通常はhttp://sample.com/sample.html 日本語http://sample.com/さんぷる.html 1.ページが表示されない、 2.他サイトからのリンクが認識されない。 などの不都合はあるのでしょうか? できれば英語のhtmlのみがいいのでしょうか?

    • ベストアンサー
    • HTML
  • 日本語ドメインか16進数かで別物になる

    サーチコンソールに下記のように出てしまいます。 参照元ページ https://www.就~.tokyo/html/link.html ユーザーが指定した正規 URL https://xn~.tokyo/html/link.html 日本語ドメインなので、日本語のドメイン名と、16進数のドメイン名が別物として認識されているようです。 もちろん、ドメイン名は全く同じで違いは16進数かそうでないかだけです。 参照元ページ https://www.就~.tokyo/html/link.html ユーザーが指定した正規 URL https://xn~.tokyo/html/link.html この場合もリダイレクトなのですか? もちろん https://xn~.tokyo/html/link.html でアクセスしてもちゃんと同じページが出てきます。 なぜ同じなのに日本語ドメインか16進数かで別物と検索エンジンは思ってしまったのでしょうか? どうすれば同じに出来ますか?

専門家に質問してみよう