2012-02-22 21 views
0

我將所有請求重定向到index.php,該URL解析URL並根據它激發相應的控制器。自定義網址查詢參數與否?

改變查詢參數出現在URL中的方式是一個好主意嗎?

like http://site.com/somepage/sub-subpage/page=20,offset=100。然後解析這些參數並將它們傳遞給控制器​​,因爲它看起來更具可讀性。

還是應該堅持$ _GET的東西?像...http://site.com/somepage/sub-subpage/?page=20&offset=100

+0

您的?page = 20&offset = 100示例最常用到處,它就像「standart」。在我看來,這取決於用戶選擇哪種方法。 – ZeroSuf3r 2012-02-22 13:02:27

回答

2

不太好的想法,因爲你必須自己實現查詢解析。我沒有看到這樣的優勢。如果你使用標準?name=val&name=val符號您有:

  • 自動解析和存儲$_GET[]
  • 可能性開始在任何時間使用POST。
  • 解析時可能出現的漏洞較少。至少他們是已知的。
0

我覺得這隻對SEO很有意思。看看谷歌對這個問題的看法:http://googlewebmastercentral.blogspot.com/2008/09/dynamic-urls-vs-static-urls.html

因此,當這個「僞」URL定義了一個真正具有不同內容的頁面(即/ user/clara,/ user/tom ...)將一個動態變量像會話ID放入這個靜態表單中。

+0

不關心谷歌,因爲這是一個禁區(管理)。已經使用「僞」網址,但我也需要使用查詢參數,因爲有些頁面會像其中的10個一樣 – thelolcat 2012-02-22 13:01:45

+0

您還應該鏈接更合適,更新的關於查詢參數的博客文章,因爲它們會給您的網址帶來更多的語義,而谷歌是尋找那個。 – hakre 2012-02-22 13:02:06

+0

@thelolcat然後它對我來說沒有意義,因爲使用查詢參數,您可以簡單地通過'$ _GET'訪問所有變量,而不必分析您的網址 – rabudde 2012-02-22 13:04:27

1

堅持標準,因此它更好地堅持$_GET的事情。

1

YAGNI - 你不會需要它。不要想太多,只是做。除了品味之外(有人可能會說「我不喜歡我的URL中的問號」),只使用正在工作並且存在很多解析器/函數的通用格式有很多好處。此外,如果您對格式不清楚,則可以找到可供參考的文檔。

+0

我已經看到過網站在做它。我認爲戴爾也是。 – thelolcat 2012-02-22 13:06:07

+0

如果您登錄到戴爾網站的管理區域,那麼您可能會看到其他一些模式。對於你的情況,我沒有看到任何理由爲什麼介紹沒有添加功能的開銷。 – hakre 2012-02-22 13:13:22

1

它更好,如果你有好的網址(所謂的SEO朋友網址),即使你不關心谷歌或其管理區域。

之所以用漂亮的網址是

  • 它更具可讀性。
  • 您可以手動更改參數。
  • 將其粘貼到電子郵件,即時消息或其他媒體時,該網址有意義。
  • 醜陋的網址使得難以閱讀實際值。有時你需要它。
  • 當你看到地址欄時,它看起來不錯,乾淨,你知道你在哪裏。
  • 在醜陋的網址你不知道你在哪裏。每個網址似乎都是無中間的地方。

用mod_rewrite的一點幫助創建乾淨的網址並不難。

  1. 將所有URI重寫爲您的索引。php as /index.php/REQUESTED_URL
  2. index.php只是解析URL並調用控制器。