我目前有一个运行良好的网站,但是为了学习并使其更具可移植性,我一直在尝试对其进行泊坞化。我正在使用正式的Apache和php映像,并将虚拟主机设置为与运行站点上的虚拟主机相同,只是具有不同的域。不幸的是,虽然我可以让一个工作,但第二个却不能。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName api.gamersplane.local
DocumentRoot /var/www/api
ErrorLog "/var/log/gamersplane.api"
CustomLog "/var/log/gamersplane.api" common
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://api:9000/var/www/$1
ProxyPassReverse ^/(.*\.php(/.*)?)$ fcgi://api:9000/var/www/$1
RewriteEngine On
RewriteBase /
RewriteRule !\.(css|jpg|js|gif|png|ico|eot|woff|ttff|svg|psd)$ dispatch.php
<Directory /var/www/api/>
Options FollowSymLinks
Require all granted
</Directory>
LogLevel notice
</VirtualHost>
<VirtualHost *:80>
ErrorLog "/var/log/gamersplane"
CustomLog "/var/log/gamersplane" common
ProxyPreserveHost On
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://api:9000/var/www/$1
ProxyPassReverse ^/(.*\.php(/.*)?)$ fcgi://api:9000/var/www/$1
ServerName gamersplane.local
ServerAlias *.gamersplane.local
DocumentRoot /var/www
RewriteEngine On
RewriteBase /
RewriteRule !\.(css|jpg|js|gif|png|ico|eot|woff|ttff|svg|psd)$ dispatch.php
<Directory /var/www/>
Options FollowSymLinks
Require all granted
</Directory>
LogLevel notice
</VirtualHost>
最初,我拥有第一个虚拟主机(api.gamersplane),但我认为可能是服务器别名引起了问题。然后我换了位置,甚至评论了基地(gamersplane.local),但没有运气。这可以在运行中的网站上正常运行,因此我无法弄清楚它出了什么问题。
检查Postman返回的标头,我确实看到它具有Apache和PHP标头,因此它看起来很正常,我只是不知道什么。