2015-04-07 60 views
0

在我們檢測其承租人在URL通過彈頭使用該系統我的2.X的應用程序,即:CakePHP Routing Slugs,檢測擴展?

app/[tenant_slug]/[controller]/[action] 

然而,問題是,當一些靜態文件我們的服務器的用戶瀏覽器請求不具備,如:

app/apple-touch-icon-76x76.png 

蛋糕需要「蘋果觸摸圖標76x76」作爲tenant_slug - 所以那麼,我們的服務器必須確定沒有,它不具有塞,然後扔返回未找到錯誤。

我的路線以下匹配的標準:

$validTenant = '[a-zA-Z0-9-_]+'; 

而且我也有以下啓用:

CakePlugin::routes(); 

什麼是處理這個正確的方式,使路由器知道,如果請求一個靜態資源(即:文件以.js,.css,.png等結尾),它不應該使用文件名作爲一個slug?或者,我是否應該有查找tenant_slug(TenantAuthorizeComponent)的代碼來處理存在文件擴展名的情況?

回答

0

我將在Web服務器級別處理這個問題,如果可能的話,甚至沒有讓PHP放慢你的靜態文件的請求 - 例如用於nginx我通過剛纔的PHP文件到使用此語句的解釋中mysite.vhost.conf

location ~ \.php$ { 
    fastcgi_pass php; 
}