轻量应用服务器如何通过修改apache配置文件实现非https的访问多域名到不同子目录程序?

目标

用户有2个域名,分别是 aaa.yoursite.com , bbb.yoursite.com希望实现访问以上2个站点时,实际打开的是不同子目录网站程序的需求。

步骤

上传代码

这里不具体介绍如何上传代码,假定用户已经上传2个站点的代码到 /home/www/htdocs/aaa ,/home/www/htdocs/bbb 子目录下,为了测试,分别放了两个不同内容的 index.html,并且2个目录及其子目录权限已经改成 www:www。参考命令:chown www:www -R /home/www/htdocs

修改配置文件

修改httpd.conf开启虚拟节点配置文件,方法如下:vi /usr/local/apache/conf/httpd.conf

如上图所示 移动光标到红色行的开头,输入 x删除#号,如下:Include conf/extra/httpd-vhosts.conf然后移动到如下图部分在ProxyPassMatch 前面加上#号(注释掉此行)。

最终修改后相关2行如下:

Include conf/extra/httpd-vhosts.conf#ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs

然后输入按住shift+: 输入x! 回车,完成文件的修改。修改 httpd-vhosts.conf 配置文件httpd-vhosts.conf

先将以上红色部分每行开头加上# 号(即注释掉红色几行),然后在后面添加如下2个节点。

<VirtualHost *:80> ServerAdmin webmaster@serveradmin.com DocumentRoot "/home/www/htdocs/aaa"ServerName aaa.yoursite.comProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs/aaa/</VirtualHost><VirtualHost *:80> ServerAdmin webmaster@serveradmin.com DocumentRoot "/home/www/htdocs/bbb"ServerName bbb.yoursite.comProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs/bbb/</VirtualHost>

按住 shift+: 输入w!保存退出,如下图:

重启服务

重启apache ,命令如下:

/usr/local/apache/bin/apachectl restart

访问测试

最后进行访问测试

相关文章