
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
웹 서버가 동적으로 생성된 페이지를 처리하고 자신을 참조하는 정규화된 URL을 생성해야 하는 경우 URL의 호스트 이름/주소 부분에 무엇을 입력해야 하는지 알아야 합니다.
더 구체적인 정의가 없으면 기본값은 일반적으로 안전한 선택이고 로컬에서만 액세스할 수 있는 빠른 테스트 설정에 적합하기 때문에 "localhost"입니다.
다른 장치에서도 서버에 액세스해야 하는 경우 "올바른" 방법은 서버에 다른 장치가 확인할 수 있는 이름이 있는지 확인한 다음 ServerName
해당 이름을 기본 서버 및/또는 Apache 구성의 VirtualHost 부분입니다.
또 다른 해결책은 UseCanonicalName Off
Apache 구성에서 이를 설정하는 것입니다. 이렇게 하면 Apache는 클라이언트가 원래 서버에 액세스하는 데 사용한 이름이나 IP 주소를 사용하여 자체 참조 URL을 동적으로 생성합니다.
URL 생성은 PHP 또는 Perl 기반 웹 응용 프로그램에서도 발생할 수 있습니다. 이 경우 응용 프로그램에는 자체 구성 설정이 있을 수 있습니다.
답변2
문제가 해결되었습니다.
여기서 문제는 내 브라우저와 캐시 파일입니다. 캐시를 지우거나 엄격한 개인 정보 보호 브라우징 모드로 전환하면 페이지가 올바르게 표시됩니다.
답변3
내 웹사이트에서 이 리디렉션을 수행하고 있습니다...
아마도 my-site의 소스 코드 중 일부가 localhost를 사용하도록 구성되었거나 my-site 내의 .htaccess 때문일 수 있습니다.