- - PR -
HTML の A タグでホスト名は省略したいけど、ポート番号は指定したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-01 11:03
自作の HTML ページに
80 番以外のポートを使っているページへの リンクを追加したいと考えています。 例) <a href="http://xxxxx:1158/em/console/">Oracle Enterprise Manager</a> ただし、複数のマシンに自作の HTML を配置した場合の事を考えると、 href 属性にはサーバのホスト名やIPアドレスを記述したくないと考えております。 とりあえず以下のような書き方を試してみましたが予想通り NG でした。 ![]() <a href=":1158/em/console/">Oracle Enterprise Manager</a> <a href="http://:1158/em/console/">Oracle Enterprise Manager</a> 以下のように書くと 80 番ポートに行っちゃいますし...。 <a href="/em/console/">Oracle Enterprise Manager</a> ターゲットのブラウザは IE6, IE7 です。 また、自作のページを置いているのは 80 番ポートを使っている Apache の DocumentRoot 配下です。 ※Apache の htdocs の下です。 何か良い書き方をご存知の方がいらっしゃいましたら 教えていただけると助かります。 以上です。 よろしくお願いします。 [ メッセージ編集済み 編集者: フレ 編集日時 2008-04-01 11:58 ] | ||||
|
投稿日時: 2008-04-01 13:03
うまい方法が思いつかないので少し苦肉の策っぽいですが……。
もしSSIを使えるなら、SSIでホスト名を返すスクリプトかプログラムを作って呼んでやる、というのはどうでしょう。 (以下の場合、hogehogeがホスト名を返すなにか)
| ||||
|
投稿日時: 2008-04-01 13:35
JavaScriptでlocation.hostを使ってタグを書く。
…オフにされたら動かないけど。 | ||||
|
投稿日時: 2008-04-01 13:45
深読みしすぎている気がするけど、ひょっとしてlocalhostとか127.0.0.1と指定すればいいとか? | ||||
|
投稿日時: 2008-04-01 13:47
こんにちは
よく、使用状況がのみこめないのですけれど リンク先は別のホストでなくて自分自身ですか? ローカルでしか使わないのだったら、localhostでいいんじゃないですか? http://localhost:1158/em/console/ 127.0.0.1でもいいけども。 「ただし、複数のマシンに自作の HTML を配置した場合の事を考えると、」 この文章の意味が特につかめません。 #誤字修正とかしている間に同じ回答が(/ω\) [ メッセージ編集済み 編集者: みなと 編集日時 2008-04-01 13:48 ] | ||||
|
投稿日時: 2008-04-01 14:11
kiyokura さん、mio さん、冬寂 さん、みなと さん
情報ありがとうございます。 > もしSSIを使えるなら、... > SSI は使えない環境です。 今回は静的コンテンツだけで解決したいと考えております。 前提条件として先に書いとくべきでした。 すみません。 > 深読みしすぎている気がするけど、ひょっとしてlocalhostとか127.0.0.1と指定すればいいとか? > WWWサーバ上にHTMLファイルを置いて PCのブラウザからHTMLにアクセスした場合、 localhost にしていると ブラウザを表示しているPCにアクセスに行っちゃうので ループバックアドレスは使えませんでした。 こちらもPCのブラウザから参照されるって事を 前提に書いておくべきでした。 重ね重ねすみません。 > リンク先は別のホストでなくて自分自身ですか? > ローカルでしか使わないのだったら、localhostでいいんじゃないですか? > 前述のとおり「ローカルでしか使わない」というわけではないので、 localhost は使えませんでした。 > 「ただし、複数のマシンに自作の HTML を配置した場合の事を考えると、」 > この文章の意味が特につかめません。 > 例えばWWW1(192.168.0.101)とWWW2(192.168.0.102)の 2台のサーバ上に同じHTMLファイルを置く事を想定しています。 そしてリンク先はHTMLファイルが配置されている それぞれのサーバにしたかったのです。 この場合、ホスト名やIPアドレスはリンクに埋め込めないし、 localhost にしちゃうと PC からブラウザで表示した時に 正常に動かないし...という事で今回質問させていただきました。 > JavaScriptでlocation.hostを使ってタグを書く。 > …オフにされたら動かないけど。 > 今回は JavaScript をオフにはしない環境なので いただいたアドバイスを元に 以下のように書いたら、希望している動作になりました。 <a href="#" onclick="location.href = 'http://' + location.host + ':1158/em/console/'">Oracle Enterprise Manager</a> 以上です。 お返事くださった皆様ありがとうございました。 | ||||
|
投稿日時: 2008-04-01 14:11
Apache限定になりますが、mod_proxyを使ってリバースプロキシとして設定すれば80番ポートでアクセスできます。
そうすればAタグにポート番号を指定する必要がなくなりますが、いかがでしょう? | ||||
|
投稿日時: 2008-04-01 14:18
ykSiR さん情報ありがとうございます。
> Apache限定になりますが、mod_proxyを使ってリバースプロキシとして設定すれば80番ポートでアクセスできます。 > とりあえず今回は JavaScript の使用不可という条件ではないので、 静的コンテンツだけで解決できる JavaScript を使う方法にしたいと思います。 リバースプロキシを使うという発想は無かったので 大変参考になりました。 |
1