我想實現靜態文件緩存來繞過php處理。Laravel:我可以在uri後添加一些字符串而不更改其解析結果嗎?
說我們有一個uri'/api/lecturers/page/1'。我想要的是客戶端可以發送請求到'/api/lecturers/page/1.iphone6.json'。並且如果有靜態的json文件,他們可以直接得到結果。如果不是,請求被路由到'/ api/lecturers/page/1',檢索數據並將其寫入json文件。
但是,如果你請求'/api/lecturers/page/1.iphone6.json',最後一段被解析爲'1.iphone6.json',這實際上是api的一個錯誤的參數,而是比'1'。
所以問題是如何讓laravel忽略'.iphone6.json'部分的uri?或者你有什麼想法可以產生相同的效果? 在此先感謝!
更新:我想nginx的配置作爲@ateoa說
if (-f $request_filename){
break;
}
if ($request_uri ~ "(.*?)\.(.*?)\.json"){
rewrite ^(.*?)\.(.*?)\.json$ $1;
}
try_files $uri $uri/ /index.php?$query_string;
當我要求
'http://xxx/api/v1/lecture/list/date/1/desc.iphone6.json'
,它導致nginx的錯誤 「」/ wwwpath/API/V1 /講座/名單/ date/1/desc「失敗(2:沒有這樣的文件或目錄)」
現在,我不知道如何去T_T!
謝謝你對api版本的建議thing.i'll接受它。 –
我想繞過php,這樣nginx可以每秒處理更多的請求。如果我必須在php中處理邏輯,那麼做這些骯髒的工作是沒有意義的。 –