wiki.mysite.com
데비안에서는 기본 사이트 하위 도메인의 위키 사이트를 사이트 경로: to 로 이동하려고 합니다 mysite.com/wiki
.
두 개의 DNS 레코드가 있고 Apache 아래에 두 개의 conf 파일이 wiki.mysite.com
있습니다 .mysite.com
wiki.mysite.com.conf
mysite.com.conf
그리고 웹사이트 디렉토리가 있습니다:
/var/www/html/www.mysite.com
/var/www/html/www.wiki.mysite.com
모든 것이 잘 작동합니다. 이제 위키 사이트를 내 기본 사이트의 경로로 이동해야 합니다. www.mysite.com/wiki...
다음 업데이트를 시도했지만 mysite.com.conf
아파치를 다시 시작한 후 액세스하려고 하면 "찾을 수 없음: 요청한 URL을 이 서버에서 찾을 수 없습니다"라는 메시지가 나타납니다. mysite.com/wiki
(그러나 mysite.com
잘 작동합니다). 나는 도와준다. 무엇을 합니까? :
<VirtualHost *:80>
Server Admin webmaster@localhost
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/html/www.mysite.com
<Directory /var/www/html/www.mysite.com/>
AllowOverride All
</Directory>
<VirtualHost>
<VirtualHost *:80>
Server Admin webmaster@localhost
ServerName mysite.com/wiki
ServerAlias www.mysite.com/wiki
DocumentRoot /var/www/html/www.wiki.mysite.com
<Directory /var/www/html/www.wiki.mysite.com/>
AllowOverride All
</Directory>
<VirtualHost>
두 번째 가상 호스트만 추가했는데, 첫 번째 가상 호스트는 원래 사이트를 하위 도메인 사이트로 설정할 때 존재했습니다. 반복하자면 첫 번째 가상 호스트는 여전히 작동합니다.
답변1
당신이 찾고있는 것은 alias
항목입니다. 별칭은 URL의 특정 하위 경로에 대한 대체 위치를 지정합니다. 이를 위해 여러 가상 호스트를 사용할 필요는 없습니다.
이것아파치 문서입니다 alias
. 여기에서 다음 정보가 제공됩니다.
이 모듈에 포함된 지시문을 사용하면 요청이 서버에 도착할 때 URL을 조작하고 제어할 수 있습니다. Alias 및 ScriptAlias 지시문은 URL과 파일 시스템 경로를 매핑하는 데 사용됩니다. 이를 통해 DocumentRoot 바로 아래에 있지 않은 콘텐츠가 웹 문서 트리의 일부가 될 수 있습니다.
www.wiki.mysite.com의 사이트 문서가 절대 URL을 참조하는 경우(예: 를 가리키는 경우) 이 작업이 수행 된다는 점을 명심하세요 /index.php
.mysite.com/index.php
mysite.com/wiki/index.php
<VirtualHost *:80>
Server Admin webmaster@localhost
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/html/www.mysite.com
Alias /wiki /var/www/html/www.wiki.mysite.com
<Directory /var/www/html/www.mysite.com/>
AllowOverride All
</Directory>
<Directory /var/www/html/www.wiki.mysite.com/>
AllowOverride All
</Directory>
</VirtualHost>