Apache: 호스트 이름을 기반으로 스크립트 로드

Apache: 호스트 이름을 기반으로 스크립트 로드

나는 이것이 그렇게 복잡하다고 생각하지 않지만 최선의 방법을 찾으려고 노력하는 데 어려움을 겪고 있습니다.

site.example.com아래에 5페이지가 있는 사이트가 있습니다 . 그 5페이지가 site.othersite.com/page1.html, page2.html, page3.html, page4.html, page5.html. 이제 5개의 다른 하위 도메인도 있습니다 lp1.OTHERSITE.com, lp2.othersite.com, lp3.othersite.com, lp4.othersite.com, lp5.othersite.com. 이러한 도메인은 모두 동일한 문서 루트 아래의 동일한 서버에서 호스팅됩니다. 이제 Apache가 수행해야 할 작업은 다음 패턴으로 투명 리디렉션(즉, 주소 표시줄이 변경되지 않음)을 수행하는 것입니다.

lp1.othersite.com --> site.example.com/page1.html
lp2.othersite.com --> site.example.com/page2.html
lp3.othersite.com --> site.example.com/page3.html
lp4.othersite.com --> site.example.com/page4.html
lp5.othersite.com --> site.example.com/page5.html

Apache만 사용하여 이것이 가능합니까? 그렇지 않은 경우 수신 호스트 이름을 기반으로 iframe에 site.example.com/page*.html 페이지를 로드하는 PHP 스크립트를 이미 작성했지만 Apache에 해당 5 lp*를 보내도록 지시하는 방법을 잘 모르겠습니다. othersite.com 도메인을 해당 PHP 스크립트에 추가합니다.

나는 프로젝트를 충분히 잘 설명하고 있기를 바랍니다. 기본적으로 주소 표시줄의 주소를 변경하지 않고 lp* 하위 도메인을 각각 다른 site.example.com/page*.html 페이지로 리디렉션해야 합니다.

팁과 조언을 주시면 감사하겠습니다. 내가 할 수 있었던 일은 Apache가 해당 URL을 내 PHP 스크립트로 리디렉션하는 것뿐이었지만 주소 표시줄이 변경되었고 리디렉션이었기 때문에 주소 표시줄도 변경되었습니다(이 시점에서 PHP 스크립트는 작동하지 않았습니다. 호스트 이름이 변경되었습니다)

답변1

동일한 를 사용하여 각 호스트 이름에 대해 가상 호스트를 설정하되 DocumentRoot다음을 사용하십시오.

DirectoryIndex page1.html

lp1의 경우,

DirectoryIndex page2.html

lp2 등의 경우 해당 페이지가 index.html.

그래서 예를 들어 http://lp3.othersite.com/봉사 할 것입니다 page3.html. 또한 등으로 이동할 수도 있지만 http://lp3.othersite.com/page1.html기본 페이지는 지시문을 통해 지정하는 페이지가 됩니다 DirectoryIndex.

답변2

어쩌면 내가 뭔가를 놓친 것일 수도 있지만 귀하가 요구하는 것은 모두 가상 호스트라고 생각합니다.https://httpd.apache.org/docs/2.2/vhosts/

가상 호스트에는 동일한 웹 서버에 설정된 여러 DNS 항목이 필요합니다. Apache는 사용된 DNS 이름을 기반으로 지정된 페이지를 제공합니다. 리디렉션하지 않는 한 사용자는 자신이 입력한 irk를 볼 수 있습니다.

답변3

URL 재작성을 사용하여 이를 수행할 수 있습니다. 간단한 예를 들어보겠습니다(작동할 수도 있고 작동하지 않을 수도 있음).

RewriteCond %{HTTP_HOST} ^lp([0-9]).othersite.com [NC] 
RewriteRule ^(.*)$ page$1.html [NC,QSA] 

답변4

따르다Apache 가상 호스트 문서VirtualHost각 FQDN을 설정하려면 다음을 사용하세요.mod_dir설정 DirectoryIndex및 리디렉션 사용mod_rewrite.

지도 시간:

Apache 및 Nginx를 사용하여 임시 및 영구 리디렉션을 만드는 방법

관련 정보