nginx多域虚拟主机配置

时间:2010-05-22 18:49:05

标签: nginx http-status-code-404

为了方便起见,我正在设置具有多个域或通配符支持的nginx,而不是设置50多个不同的站点 - 可用/ *文件。希望这足以向您展示我正在尝试做的事情。有些是静态站点,有些是动态的,通常安装了wordpress。

如果存在index.php,则一切都按预期工作。

如果请求的文件不存在(missing.html),则由于重写而给出500错误。记录的错误是:

  处理时,

* 112重写或内部重定向循环“/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/的index.php / index.php的/ missing.html“

我目前使用的基本nginx配置是:

`

listen 80 default;
server _;

...

location / {
    root /var/www/$host;

    if (-f $request_filename) {
            expires max;
            break;
    }

    # problem, what if index.php does not exist?

    if (!-e $request_filename) {
            rewrite ^/(.*)$  /index.php/$1 last;
    }
}

...

`

如果index.php不存在,并且该文件也不存在,我希望错误404.目前,nginx不支持多个条件if或嵌套,如果需要,我需要一个解决方法。

1 个答案:

答案 0 :(得分:0)

if ($_SERVER['HTTP_HOST'] == 'desideshat.com')
 {
 $vboptions['bburl'] = 'http://www.desideshat.com';
 }
 else
 {
 $vboptions['bburl'] = 'http://www.vedesi.com';
 } 
?>