【URLで自動振り分け】ドメイン名から自動的に表示内容を変更したり、リンク先を変える方法(javascript/HTML)


PC/プログラム/ゲーム/ネット系レポ TOPはこちら

同一のサーバで複数のドメインを使い分けたい!

自宅Webサーバなどを立ち上げている場合、DynamicDNSなどを使い、同一のサーバで複数のドメインを使い分けたいことがあります。

例えば、 101.102.103.104 のIPアドレスで提供しているWebサーバに対して、

https://aaa.server1.net と https://bbb.server2.net という2つのドメインを割り当てている場合、

 

https://aaa.server1.net でアクセスしてきたユーザには、 「AAA」ホームページはこちら と表示、

https://bbb.server2.net でアクセスしてきたユーザには、 「BBB」ホームページはこちら と表示するJavascriptです。

 

そうすることで、同じサーバでもアクセスしてきたドメインに応じて、異なるサービスを提供することができます。

入力されたURLを判断してそれに応じたページを表示するHTML/Javascript

https://aaa.server1.net のURLを入力された場合は、「「AAA」ホームページはこちら」と表示してリンクをクリックすると

https://aaa.server1.net/aaa/index.html に移動します。

https://bbb.server2.net のURLを入力された場合は、「「BBB」ホームページはこちら」と表示してリンクをクリックすると

https://bbb.server2.net/bbb/index.html に移動します。

上記2つに該当しないURLでアクセスした場合は、「目的のページが表示されない場合は、指定されたアドレスをすべて入力してください」と表示します。

これにより、同じWebサーバでも、異なるポータル画面を表示することができるようになります。

index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta http-equiv="Content-Language" content="ja">
<script type="text/javascript" src="script.js"></script>

<title>ホームページ</title>
</head>
<body>

<SCRIPT> auto_change(); </SCRIPT>
</html>

 

script.js

// ユーザが入力したURLに応じて自動的に表示
function auto_change()
{
    var host_name = window.location.hostname ;

    if (host_name == "aaa.server1.net" )
    {
        document.write ('<hr noshade color="#0066FF">');
        document.write ('<p>■「AAAホームページ」</p>');
        document.write ('<p><a href="aaa/index.html">「AAA」ホームページはこちら</a></p><br>');
        document.write ('<hr noshade color="#0066FF"><br>');
        return;
     }
    if (host_name == "bbb.server2.net" )
    {
        document.write ('<hr noshade color="#0066FF">');
        document.write ('<p>■「BBBホームページ」</p>');
        document.write ('<p><a href="bbb/index.html">「BBB」ホームページはこちら</a></p><br>');
        document.write ('<hr noshade color="#0066FF"><br>');
        return;
     }
    // どれも該当しない場合
    document.write ('<hr noshade color="#0066FF">');
    document.write ('<p>目的のページが表示されない場合は、指定されたアドレスをすべて入力してください</p>');
    document.write ('<hr noshade color="#0066FF">');
}

以上です。