xamppを使用してUbuntuでローカルホストサーバーを実行しています。次からこのサーバーにアクセスしたいと思います。その他のデバイス同じネットワーク内で。これを達成するために、ローカルネットワークのホストIPアドレスを使用してください192.168.150.250
。
他のデバイスからアクセスすると192.168.150.250
localhostコンテンツがロードされ、xamppダッシュボードを表示できるようになりました。ホストのサブディレクトリに入ろうとするとき。たとえば、192.168.150.250/my-site
URLはすぐにリダイレクトされますlocalhost/my-site
。
奇妙なことは、すべてのデバイスがリダイレクトされるわけではないということです。たとえば、私のiOSデバイスはローカルホストのIPアドレスを変更しませんでしたが、私のラップトップは変更しました。これはファイアウォールが原因である可能性があると考え、次のコマンドを使用して無効にしました。
sudo ufw disable
今は本当に面白いです。この設定を使用すると、私のノートブックエクスプローラブラウザは自分のホストに接続できますが、同じラップトップ上のコンピュータでは、ChromeブラウザはまだIPからlocalhostにサイトをリダイレクトします。
私のもの背中/ホスト文書
127.0.0.1 localhost
127.0.1.1 Ubuntu-X
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
この奇妙なリダイレクトの原因は何ですか?一部のデバイスとブラウザでは動作しますが、他のデバイスとブラウザでは動作しないのはなぜですか?
答え1
Webサーバーが動的に生成されたページを処理し、自分自身を参照する完全修飾URLを生成する必要がある場合は、URLのホスト名/アドレス部分に何を入力するかを知る必要があります。
より具体的な定義がない場合、デフォルトは通常安全な選択であり、ローカルでのみアクセスできるクイックテスト設定に適しているため、「localhost」です。
他のデバイスでもサーバーにアクセスする必要がある場合は、「正しい」方法はサーバーに他のデバイスが解決できる名前があることを確認し、その名前をプライマリServerName
サーバーおよび/またはApache設定のVirtualHost部分にします。
別の解決策は、UseCanonicalName Off
Apache設定でこれを設定することです。これにより、Apacheはクライアントが元のサーバーにアクセスするために使用した名前またはIPアドレスを使用して独自の参照URLを動的に生成します。
URL 生成は、PHP または Perl ベースの Web アプリケーションでも発生します。この場合、アプリケーションには独自の構成設定がある可能性があります。
答え2
問題が解決しました。
ここで問題は私のブラウザとキャッシュファイルです。キャッシュを消去したり、厳密なプライバシー ブラウジング モードに切り替えると、ページが正しく表示されます。
答え3
私のウェブサイトでこのリダイレクトを行っています...
おそらく、my-siteのソースコードのいくつかがlocalhostを使用するように設定されているか、my-site内の.htaccessのためです。