文章由 流星蝴蝶没有剑 提供
轻量应用服务器如何通过修改apache配置文件实现非https的访问多域名到不同子目录程序?ProxyPassMatch的使用
阿里服务器配置子域名、二级域名:不同项目对应不同的域名。
个人成功案例:
- http://wx0725.top【首页】
- http://en.ecg.wx0725.top【ECG 英文版】
- http://cn.ecg.wx0725.top【ECG 英文版】
- http://mhnytsd.wx0725.top 【河南豫通盛鼎移动Web版】
拿这两个域名为例:
首先在阿里云设置如下:
- http://wx0725.top 对应的目录为:/home/www/htdocs
- http://mhnytsd.wx0725.top 对应的目录为:/home/www/htdocs/project/php/hnytsd
-
修改httpd.conf
vi /usr/local/apache/conf/httpd.conf
-
接着找到 Include conf/extra/httpd-vhosts.conf 删掉#
-
在文件的末尾注释
ProxyPassMatch ^/(..php(/.)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.
0.0.1/home/www/htdocs
即在前面加# 保存退出。
- 接着修改httpd-vhosts.conf【 也就是上面提到的 conf/extra/httpd-vhosts.conf】
- 添加如下代码【没有此文件的新建一个就行,保存退出】
<VirtualHost *:80>
ServerAdmin webmaster@serveradmin.com
DocumentRoot "/home/www/htdocs"
ServerName www.wx0725.top
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@serveradmin.com
DocumentRoot "/home/www/htdocs/project/php/hnytsd"
ServerName mhnytsd.wx0725.top
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs/project/php/hnytsd
</VirtualHost>
- 最后 :/usr/local/apache/bin/apachectl restart 重启