2013-02-26 57 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中。

在后端服务器上,它使用查询字符串中传递的变量来确定返回给您的内容。