NginX:别名和位置

时间:2015-07-23 23:40:15

标签: php nginx

Hello StackOverflowers,

我在这个问题上挣扎了一天多。我有2个站点,一个是应用程序,一个是前面的wordpress。

文件如下:

  
      
  • 申请:C:/Users/NICOLAS/Documents/www/index.php
  •   
  • Wordpress:C:/Users/NICOLAS/Documents/www/wordpress/index.php
  •   

问题是我从apache迁移到nginx而我无法更改URL。映射必须如下:

  

我无法配置NginX来做到这一点。我不知道为什么,这个配置让我头疼!我仍然没有得到NginX的逻辑。这是我的conf的重要部分:

root C:\Users\NICOLAS\Documents\www;
location ~ ^/v1/(.+\.php.*)$ {
    alias "C:/Users/NICOLAS/Documents/www/$1";
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $request_filename;
        include        fastcgi_params;
    }
}

location ~ / {
    alias C:/Users/NICOLAS/Documents/www/wordpress/;
    location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

你能指出我的错误在哪里吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为以下内容有效:

location /v1 {
  alias "C:/Users/NICOLAS/Documents/www/";
  location ~ \.php$ {
    # php-specific part
  }

location / {
  alias C:/Users/NICOLAS/Documents/www/wordpress/;
  location ~ \.php$ {
    # php-specific part
  }
}

您的第一个位置无效,因为alias想要一个目录。

也许你会查看nginx的日志文件。