我有一个模块化 Zend Framework 应用程序,我想将其用作具有不同域的多个网站的基础,即:
- mywebsite.com
- mydifferentwebsite.com
- mythirdwebsite.com
我想从同一个代码库和同一个服务器上运行所有这些网站。我想根据主机名更改不同的设置,例如样式或可用页面。
目前这是我获取主机名的方式:
$requestSiteUrl = $this->serviceLocator->get('URLRequest')->getServer('HTTP_HOST');
但是我不确定这有多可靠。有没有更好的方法来找出请求来自哪个网站?
这是我用于服务器上不同网站的 Nginx 配置示例:
server {
listen 80;
server_name mywebsite.com;
root /var/www/mywebsite/public;
index index.php;
server_tokens off;
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APPLICATION_ENV develop;
fastcgi_param PHP_VALUE "error_log=/var/log/php/mywebsite_php_errors.log";
include /etc/nginx/fastcgi_params;
}
}