1

自宅から Web サイトをホストしています。私のシステムには2つのレイヤーがあります。ポート80を介してポート転送され、var/wwwにindex.phpのみを持つWebサーバー(Ubuntu 11.04を実行)と、他のすべてを持ち、 Web レイヤー サーバーと通信します。

index.php には次のコード行があります。

 <li><a href="192.168.1.4/about.php">About</a></li>

これは、ローカル IP アドレス 192.168.1.4 を持つアプリケーション サーバーの var/www にある about.php を呼び出すメニュー項目です。ただし、このメニュー項目に関連付けられたボタンをクリックすると、http://localhost/192.168.1.4/about.phpにアクセスしようとし、エラー メッセージが表示されます。

 The requested URL /192.168.1.4/about.php was not found on this server.

アドレス ボックスに移動し、 http://localhost/の部分を手動で削除して、アドレス ボックスに 192.168.1.4/about.php とだけ表示すると、アプリケーション サーバーの about.php ページが表示されます。その後、index.php に関連付けられたメニュー ボタンをクリックすると、すべて正常に動作します。http://localhost/を手動で削除するまで、指定されたアドレスに追加することから始まり、デフォルトで除外されるようです。

本当の問題は、別のコンピューターから自分のサイトにアクセスしようとしたときに発生します。ドメイン名、たとえばwhatever.comを入力すると、index.phpページが表示されます。ただし、メニュー ボタンをクリックすると、http: //whatever.com/192.168.8.1.4/about.php にアクセスしようとし、エラー メッセージが表示されます。URL ボックスに移動してhttp://whatever.com/を手動で削除すると、すべて正常に動作します。ただし、ユーザーがこれを行う必要はありません。また、ホーム ネットワーク上の別のコンピューターからこれを行っているため、リモート コンピューターから何が起こるかわかりません。

localhost/192.168.1.4/about.php、whatever.com/192.168.1.4/about.php などではなく、単に 192.168.1.4/about.php を使用するように index.php ファイルを取得する最良の方法は何ですか?

よろしくお願いします。

ピーター。

4

1 に答える 1

3

URL にスキームを追加するのを忘れました。使用する:

<li><a href="http://192.168.1.4/about.php">About</a></li>

また:

<li><a href="//192.168.1.4/about.php">About</a></li>
于 2012-05-05T20:13:20.933 に答える