2014-12-07 63 views
0

構建url的最好方法是什麼,並確保他們使用zend framework 2保持準確性?如何建立網址並強制執行完整性?

我有一個網址是www.foo/james/bond/23。我正在運行的查詢填充頁面上的數據基於第三個參數(23)。但是,目前沒有完整的網址。

我可以改變的URL www.foo/james/bond/22和第一(詹姆斯)和去年(債券)的名稱保持不變,而頁面現在給我的信息有關人士22

我可以將網址更改爲www.foo/ja/bon/22,我仍然可以訪問詹姆斯債券網頁,因爲查詢鍵是最後一個數字。

我該如何執行url完整性?

感謝, 中號

回答

1

以您的示例/james/bond/23爲例,在加載ID爲23的對象的數據後,您需要檢查URL中的其他數據是否匹配。如果沒有,您可以301重定向到正確的URL或404,具體取決於您的要求。您可以在控制器中進行檢查(最簡單),也可以使用自定義路由類來處理路由匹配和完整性檢查(更復雜)。

+0

這就是我正在想的。使用類似array_dif的東西?如果diff> 1返回正確的參數。 – Matt 2014-12-08 01:33:41

+0

if(array_values($ urlArray)<> array_values($ proArray))工作感謝! – Matt 2014-12-08 04:01:34

0

這聽起來像你只使用在查詢中的第三條道路參數。如果你添加所有三個,你應該得到你以後的東西。