2014-07-14 31 views
0

但是,如果url以已知擴展名結尾(例如:.gif,.png),那麼它會將所有內容都路由到我的index.php文件,但它會失敗並提供nginx 404錯誤頁面。怎麼來的?重寫以已知擴展結尾失敗,爲什麼?

我改寫如下:

location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 

此網址工作domain.com/attachment/53c386a876a56_ets2_00000和使用index.php文件。

這不起作用domain.com/attachment/53c386a876a56_ets2_00000.png並給出404 Not Found nginx錯誤。

當我在url中有已知的擴展名時,爲什麼它不會被髮送到我的index.php

+1

請發佈您的完整配置。 –

回答

0

我有一個location塊拿起這些擴展,從而打破重寫。

location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) { 
     add_header  Cache-Control public; 
     add_header  Cache-Control must-revalidate; 
     expires   7d; 
     access_log off; 
} 

我評論說,現在它的工作原理應該如此。

謝謝@譚紅帽子。