0

前几天我正在访问网站 asos.com。如果您在他们的网站上搜索“tshirt”,则结果 URL 是“ http://www.asos.com/search/tshirt?q=tshirt ”。有谁知道他们使用哪种技术使现场看起来生成一个名为“tshirt”的页面,该页面基本上需要任何扩展?

此外,如果您选择产品,则 URL 将变为:' http://www.asos.com/ralph_lauren/polo/product.aspx ' 我知道他们没有每个品牌和项目的文件和文件夹,所以如何浏览器可以跟随这个网址吗?

我不是在寻找任何代码,只是提示如何谷歌以获取更多信息。

希望这听起来不会太无知!

许多拉加德,
安德烈亚斯

4

2 回答 2

1

在大多数情况下,这种功能(通常称为干净 URL、用户友好 URL 或蜘蛛友好 URL)是通过服务器端重写来实现的。将特定已知结构的所有请求指向单个后端脚本进行处理。

现在,在我看来,您提到的这些特定 URL 并不是干净 URL 的最佳示例。然而,我将给你一个例子,说明如何使用 Apache mod_rewrite 来实现这样一个干净的 URL(因为 Apache 非常受欢迎)。

以一个 URL 为例http://somedomain.com/product/ralph_lauren/polo

你也许可以在 mod_rewrite 中做这样的事情

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

这将静默地(对最终用户)将对结构的任何 URL 的传入请求重定向/product/*/*到名为 的脚本,并将 URL 的第二和/product.php第三部分作为要由脚本评估的参数传递。catsubcat

于 2013-02-26T19:22:02.220 回答
0

我不确定我是否理解您的要求,但是在您引用的示例中,它使用的是查询字符串,该字符串是“?”之后的所有内容 在网址中。

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

于 2013-02-26T19:11:34.280 回答