我知道的唯一的方式來傳遞的URL參數是在PHP中使用GET方法。但是我看到很多網站使用的是什麼,似乎是直接在URL參數,就像這樣:
http://.../page/2/
在這種情況下,是「頁」真正的參數?如果是這樣,它在代碼中如何處理?
或者這是位於目錄「page」中的目錄「2」的常規URL?這是否意味着無論何時創建新帖子,網站都會創建所有頁面和相應的目錄?
謝謝
我知道的唯一的方式來傳遞的URL參數是在PHP中使用GET方法。但是我看到很多網站使用的是什麼,似乎是直接在URL參數,就像這樣:
http://.../page/2/
在這種情況下,是「頁」真正的參數?如果是這樣,它在代碼中如何處理?
或者這是位於目錄「page」中的目錄「2」的常規URL?這是否意味着無論何時創建新帖子,網站都會創建所有頁面和相應的目錄?
謝謝
這被稱爲url重寫。基本上這意味着你使用一個Apache模塊來重寫傳入的URL到新的URL,然後由Apache處理。
在你的例子中http://www.test.com/page/2/
可能被重寫爲類似http://www.test.com/?page=2
的東西。
如果您在因特網上搜索Apache URL重寫,您將獲得足夠的結果來解釋如何執行此操作。
謝謝你的確切答案,我會研究一下! – ink
您提供的示例仍然是GET請求。
你在找什麼是URL rewriting。
這些都是公約。 GET參數並不特定於PHP,這就是所有瀏覽器對錶單數據進行編碼的方式。例如,基於Java的webapps使用以分號分隔的參數。
你可以編寫一個簡單的圖層來將?alpha=1&beta=2
轉換爲/alpha/1/beta/2
,但是iw只是一個便宜的噱頭(除了像squid緩存這樣的極少數合法情況外)。
今天的網站做什麼是使用單一入口點模式。通常在使用apache的mod_rewrite
時,所有請求都由index.php
處理,並且路由工具可以爲特定的URL方案選擇適當的處理程序PHP文件。這些方案可以通過正則表達式輕鬆定義。
因此,總而言之,你決定你的網址的樣子。這不是一件容易的事,有許多搜索引擎優化蛇油銷售人員會讓你做各種瘋狂的東西。一個好的URL所做的是在你的服務中標識一個內容(文檔),並且你必須在整個服務中使用這個URL來解決它。
不要忘記:很酷的網址不會改變。您將在2年內放棄您當前的代碼庫,並從頭開始重建您的網站。設計您的URL方案的方式從邏輯角度來看是有意義的,而不是依賴於您的Web應用程序設計。
它也GET參數,但他們只是使用URL重寫技術....你可以谷歌 – Baba
它被稱爲「漂亮的網址」,並有足夠的討論可用。 – deceze
這仍然使用'$ _GET'來訪問參數。可能你需要閱讀更多關於'mod_rewrite'以及如何在php中處理重寫。 – verisimilitude