前几天我访问了asos.com网站。如果您在其网站上搜索“tshirt”,则生成的网址为“http://www.asos.com/search/tshirt?q=tshirt”。有没有人知道他们使用哪种技术来使它看起来像生成一个名为'tshirt'的页面,它基本上可以进行任何扩展?
此外,如果您选择产品,则网址会变为:“http://www.asos.com/ralph_lauren/polo/product.aspx”我知道他们没有针对每个品牌和商品的文件和文件夹,那么浏览器如何才能遵循此URL?
我不是在寻找任何代码,只是提示谷歌提供更多信息。
希望这听起来不太无知!
许多Ragards,
安德烈亚斯
答案 0 :(得分:1)
在大多数情况下,这种功能(通常称为干净的URL,用户友好的URL或蜘蛛友好的URL)是通过服务器端重写实现的。将特定已知结构的所有请求指向单个后端脚本以进行处理。
现在,您提到的这些特定网址在我看来并不是干净网址的最佳示例。我将举例说明如何使用Apache mod_rewrite实现这样一个干净的URL(因为Apache非常受欢迎)。
以http://somedomain.com/product/ralph_lauren/polo
您可以在mod_rewrite
中执行类似的操作RewriteEngine On
RewriteRule /?product/(.*)/(.*) /product.php?cat=$1&subcat=$2 [L]
这将默默地(对最终用户)将结构/product/*/*
的任何URL的传入请求重定向到名为/product.php
的脚本,并将URL的第二和第三部分传递为{{1要由脚本评估的{}和cat
参数。
答案 1 :(得分:0)
我不确定我理解你在问什么,但是在你举例说明你使用的是查询字符串,这是'?'之后的所有内容。在网址中。
在后端服务器上,它使用查询字符串中传递的变量来确定返回给您的内容。