우선 서버에서 어떤 웹 사이트가 호스팅되는지 확인해야합니다
# apachectl -t -D DUMP_VHOSTS
그런 다음 사이트를 찾으면 DocumentRoot 옵션에 해당하는 구성 파일을 확인하십시오. 예를 들어
# apachectl -t -D DUMP_VHOSTS
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 192.168.88.87 (/etc/httpd/conf.d/192.168.88.87.conf:1)
port 80 namevhost 192.168.88.87 (/etc/httpd/conf.d/192.168.88.87.conf:1)
port 80 namevhost gl-hooks.example.net (/etc/httpd/conf.d/hooks.conf:1)
alias example.net
alias www.example.net
웹 사이트 example.net이 어디에 있는지 알고 싶습니다.
# grep DocumentRoot /etc/httpd/conf.d/hooks.conf
DocumentRoot /vhosts/gl-hooks.example.net/
# cd /vhosts/gl-hooks.example.net/
# ls -la
total 4484
drwxr-xr-x 6 apache apache 4096 Feb 10 11:59 .
drwxr-xr-x 14 root root 4096 Feb 23 08:54 ..
-rw-r--r-- 1 root root 1078 Dec 19 09:31 favicon.ico
-rw-r--r-- 1 apache apache 195 Dec 25 14:51 .htaccess
-rw-r--r-- 1 apache apache 98 Dec 7 10:52 index.html
또한 별칭 및 리디렉션 / 다시 쓰기를 찾아야합니다.
별명 지시어에도주의를 기울여야합니다. 예를 들어 다음 설정으로
<VirtualHost *:80>
ServerName example.net
ServerAlias www.example.net
...
DocumentRoot /vhosts/default/public_html/
Alias /api/ /vhosts/default/public_api/
...
</VirtualHost>
http://example.net/some.file.html에 액세스하면 -Apache는 http://example.net/api/some.file과 동시에 / vhosts / default / public_html /에서 파일을 찾습니다 . .html 파일은 / vhosts / default / public_api /에 있습니다.
다시 작성 / 리디렉션, 특히 프로그래밍 방식 (리디렉션이 일부 PHP 코드에 의해 트리거되는 경우)은 어떻습니까?