2013-02-26 53 views
0

我前幾天訪問網站asos.com。如果您在其網站上搜索「tshirt」,則生成的網址爲'http://www.asos.com/search/tshirt?q=tshirt'。有沒有人知道他們使用哪種技術來使它看起來像生成一個名爲「tshirt」的頁面,該頁面基本上可以使用任何擴展?高級網址和URL重寫

此外,如果您選擇一個產品的URL變成類似於''http://www.asos.com/ralph_lauren/polo/product.aspx'我知道他們沒有每個品牌和項目的文件和文件夾,所以瀏覽器如何能夠跟隨此網址?

我不是在尋找任何代碼,只是一個提示什麼谷歌瞭解更多信息。

希望這聽起來不太無知!

許多Ragards,
安德烈亞斯

回答

1

在大多數情況下,這種功能(通常稱爲乾淨的URL,用戶友好的URL或者蜘蛛友好的URL)是通過服務器端重寫實現的。將特定已知結構的所有請求指向單個後端腳本進行處理。

現在,您提到的這些具體的網址並不是我認爲的乾淨網址的最佳示例。然後我會給你一個例子,說明如何使用Apache mod_rewrite實現這樣一個乾淨的URL(因爲Apache非常流行)。

舉個例子像http://somedomain.com/product/ralph_lauren/polo

一個URL,您也許能夠做這樣的事在mod_rewrite的

RewriteEngine On 
RewriteRule /?product/(.*)/(.*) /product.php?cat=$1&subcat=$2 [L] 

這會默默(給最終用戶)重定向任何URL年代傳入請求將結構/product/*/*更改爲名爲/product.php的腳本,將URL的第二部分和第三部分作爲要由腳本評估的catsubcat參數。

+0

是的,這是我一直在尋找!謝謝! – 2013-02-26 20:40:39

0

我不知道我理解你的要求,但在你舉的例子它使用查詢字符串這是之後的所有「?」在URL中。

在後端服務器上,它使用查詢字符串中傳遞的變量來確定返回給您的內容。