如果以前的重写没有找到任何文件,则重写nGinx

时间:2013-06-12 12:23:42

标签: nginx rewrite

对于在wordpress上运行的网站,我有一个apache重写:

RewriteRule ^((images|stylesheets|scripts)/.+)$ /assets/$1 [NC,L]

我转换为nGinx,看起来像这样:

rewrite /((images|stylesheets|scripts)/.+)$ /assets/$1 break;

这个指令没有问题,它运行正常并且完成它的工作。 现在的问题是wordpress文件。 如果我尝试打开 /wp-content/themes/fluidblog/library/media/images/banner.png 它将会是404.你能帮我弄清楚如何让nginx了解我想要的只重写第一个子目录,所以它不是在所有路径中搜索?

谢谢!

1 个答案:

答案 0 :(得分:0)

我知道你似乎已经弄明白了,但我想建议一个更简单的答案,可能需要一些修复,但你会得到这个想法,

注意:我没有测试过。

location ~ /(?:images|stylsheets|scripts)
    rewrite ^(.*)$ /assets/$1;
}

或者

location ~ /(?:images|stylesheets|scripts)
    rewrite ^ /assets$request_uri;
}