2013-06-12 61 views
0

我爲WordPress的運行這樣一個網站一個阿帕奇重寫:nginx的重寫,如果以前的重寫沒有找到任何文件

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明白我只需要重寫第一個子目錄,所以它不是在所有路徑中搜索?

謝謝!

+0

對不起,是一個空的海報,但想通了我自己! location/images {rewrite /images/(.*)$/assets/images/$ 1; } location/stylesheets {rewrite /stylesheets/(.*)$/assets/stylesheets/$ 1; } location/scripts {rewrite /scripts/(.*)$/assets/scripts/$ 1; } – Eddie

回答

0

我知道你似乎已經想通了,但我想提出一個簡單的答案,可能需要一些固定,但你會得到的想法,

注意:我沒有測試過這些。

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

也許

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

嗨,是的,這是更好的意義,並保持動態。謝謝你的回覆。 – Eddie