Nginx 重写到上一个目录

Nginx 重写到上一个目录

我正在尝试将我的博客从blog.example.comexample.com/blog为了做到这一点,我宁愿不移动磁盘上的任何东西,因此我将 nginx 配置文件更改为以下内容:

location /blog {
if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
}
    root /home/demo/public_html/blog.example.com/current/public/;
    index  index.php index.html index.html;
        passenger_enabled off;
        index index.html index.htm index.php;
        try_files $uri $uri/ @blog;
}

这很好用,但是当我访问 example.com/blog 时,nginx 会查找:

/home/demo/public_html/blog.example.com/current/public/blog/index.php 

代替

/home/demo/public_html/blog.example.com/current/public/index.php

有没有办法添加重写规则,以便服务器自动删除 /blog/ 目录?

就像是 ?

location /blog {
        rewrite \\blog\D  \;
    }

答案1

您误解了 root 的用法。您真正想要的是别名指令:http://wiki.nginx.org/NginxHttpCoreModule#alias

相关内容