2011-11-30 35 views
1

我有一個url結構,看起來像some_page.php?id = 123,我得到該頁的id,這是很好的。當用戶編輯和打破網址時該怎麼辦?

但有時用戶要麼編輯url,要麼以某種方式沒有id。

在這種情況下,人們通常會做什麼?我應該只是將人員重定向到404頁面嗎?或者我應該從該頁面返回404以防他們想要更正網址?或者在這種情況下404是正確的做法?

另外,我該如何判斷這個用戶來自哪裏?

謝謝!

+0

因爲URL不存在,我會說拋出404將是正確的做法。 – Cyclonecode

+0

您可以檢查環境變量$ _SERVER ['HTTP_REFERER']以查看用戶來自哪裏。請注意,它不可靠,因爲它取決於發送它的瀏覽器。 – elias

回答

6

404,並且不要重定向。向他們展示一個不錯的錯誤頁面,但始終給他們至少更正URL的機會。

此外,確保實際發送header('HTTP/1.1 404 Not Found');

1

symfony框架來處理你所描述的確切的情況提供了一些built-in methods。所以發佈404是一個很好的策略。另一個想法是提供一個暗示性的搜索,如果資產無法找到。例如,而不是僅僅渲染一404,你實際上可以這樣做:

對不起,我們無法找到你要找的資產,下面是一些建議,以更好地指導你的搜索:

圖書(12 )

CDS(13)

的DVD(37)


這樣你增加網站的用戶時,應該翻譯成更多的廣告費用。