我有一个网站testing.mycompany.com/api和testing.mycompany.com/web。如何在apache中配置它?
<VirtualHost *:80>
ServerName testing.somedomain.com
ServerAlias testing.somedomain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/project-2/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName testing.mycompany.com/api
ServerAlias testing.mycompany.com/api
ServerAdmin webmaster@localhost
DocumentRoot /var/www/project-1/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我按上述方式配置时,会有第一个虚拟主机(testing.somedomain.com)的回退。
当我删除/ api时,它就可以了。但是我想用/ web配置另一个虚拟主机。我怎么能做到这一点?显然ServerName不允许在根URL之后的路径?
答案 0 :(得分:1)
testing.mycompany.com是ServerName
如果/ api和/ web位于文档根目录之外,则必须使用别名。
前:
test.mycompany.com的文档根目录= / var / www /
/ api是/ opt / myapi
中的html页面/ web是/ opt / web
中的php页面因此,在您的serverName中,您需要2个别名。
<VirtualHost *:80>
ServerName testing.mycompany.com
ServerAlias testing.mycompany.com
Alias /api /path/to/folder/where/is/api/files
Alias /web /path/to/folder/where/is/web/files
ServerAdmin webmaster@localhost
DocumentRoot /var/www/project-1/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>