nginx - 如何从我的域根提供Wordpress,还可以提供来自其他目录的静态内容?

时间:2014-03-30 22:33:43

标签: wordpress nginx

我刚刚开始在Digital Ocean管理我自己的VPS,并为多域网站使用nginx配置。

这就是我想要实现的目标:

  • foo.com/映射到/usr/share/nginx/www/wordpress
  • foo.com/bar映射到/usr/share/nginx/www/bar(如果存在,否则请使用上面的Wordpress尝试此网址)
  • foo.com/baz.jpg映射到/usr/share/nginx/www/baz.jpg

基本上,我希望www目录只是一个静态位置,但也能够从子文件夹中提供Wordpress(因此我不必将所有其他文件与Wordpress的文件夹结构混合在一起)

这是否有意义,是否可能?

到目前为止,这是我的nginx配置:

server {
    listen          80;
    server_name     foo.com;
    root        /usr/share/nginx/www;
    index       index.php index.html index.htm;

    location @wp {
        rewrite ^/(.*) /index.php?q=$1;
    }

    location / {
        root /usr/share/nginx/www/foo;
        # index index.php index.html index.htm;
        try_files $uri $uri/ @wp;

        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
        }
    }

}

道歉,如果这听起来很愚蠢,我仍然会了解nginx的工作原理以及它的可行性。

1 个答案:

答案 0 :(得分:1)

我认为你很接近,但你需要一些调整,我删除了一些东西并修改了其他的

location @wp {
    rewrite ^ /wordpress/index.php?q=$1;
}

location / {
    try_files $uri $uri/ @wp;
}
# add php location