nginx 使用条件扩展重写规则

nginx 使用条件扩展重写规则

我有以下重写规则,用于 WordPress 网络处理文件请求:

   location @rewrite {                                                     
            rewrite ^/(.*)$ /index.php?q=$uri&$args;                        
            rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; 
    }

我觉得在同一个域上运行 owncloud 3 时,dav 请求会被这条规则捕获。因此,我想将该行扩展为仅owncloud在 uri 中未找到任何单词时才应用。

有人能帮助我吗?

答案1

如果您可以编写更具体的规则,那么这可能会有益 - 您不想意外地免除应该重写的位置;是否有可以将其应用到的特定目录?

也就是说,您绝对可以使用 免除任何内容owncloud;将其添加到location现有重写行上方的块中:

rewrite ^(.*owncloud.*)$ $1 last;

相关内容