1

我正在尝试为 Web 服务器编写一些 nginx 重写规则,其中一个很简单:

index index.html;
...
rewrite ^/(.*)$ /web/$1 break;

此规则/web在 URI 之前添加一个。它适用于类似查询www.mydomain.com/somefile并返回/docroot/web/somefile.

但是,如果我查询 a www.mydomain.com/somedir/,此规则将应用两次:首先将 URI 重写为/web/somedir/. 然后 nginx 将其更改为/web/somedir/index.html根据index index.html. 此后,将再次应用重写规则并获取 URI /web/web/somedir/index.html

如何解决这个问题呢?

4

1 回答 1

0

我认为您不需要为此执行重写规则,请尝试在服务器中添加根。
如果本网站使用某种 URL 重写,那么您需要添加这些,如果您需要帮助,请说明您希望如何重写 URL,我会帮助您。

server {
    server_name example.com;
    root /docroot/web; #make sure to put web
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}
于 2013-05-15T05:11:52.143 回答