自宅から 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 ファイルを取得する最良の方法は何ですか?
よろしくお願いします。
ピーター。