【发布时间】:2012-10-15 14:32:45
【问题描述】:
我认为我的问题可能措辞不正确,但这就是我想要做的(出于 SEO 目的)。
我有一个页面提供品牌的徽标和描述,例如沃尔沃。我想将同一页面用作所有制造商的模板,但只需更改几个字以相应地为每个制造商定制它。因此,在 URL 中,我将其传递给制造商的变量,例如“www.example.com/cars.cfm?manufacturer=BMW”,它将显示一个页面,提供有关 BMW 的信息。
问题在于,对于每个制造商来说,信息仍然在地址栏中显示为同一页面“cars.cfm”,但我真的希望它转到类似“www.example.com/manufacturers/volvo”的 URL .cfm”,因此它显示为该品牌的唯一页面。但同时我不想为每个制造商创建单独的 CFM(或 php/asp)页面。
有没有聪明的方法来做到这一点?我想这与 URL 重写有关,但不确定。我正在使用 IIS 7.5。
为不同的汽车制造商创建大量子文件夹将非常繁琐。我的网站还将包括其他类型的制造商,用于不同的产品,而不仅仅是汽车。我想 URL 重写会是最好的,但我的想法是为每个制造商提供不同的“页面”,以便改进 SEO。
基本上……
www.example.com/manufacturers/audi.cfm
www.example.com/manufacturers/bmw.cfm
www.example.com/manufactueres/volkswagen.cfm
但我真的希望每个页面上的数据都来自一个数据库,该数据库包含每个制造商的唯一数据,例如徽标图像和历史描述。
这是我的意思的一个例子:
http://www.fivestarautocentre.co.uk <-- go to bottom of that page and you can see links to various manufacturers
【问题讨论】:
-
你想要做的事情可以通过 URL Routing 来完成。使用
www.example.com/manufacturers/{id}之类的路由,请求 www.example.com/manufacturers/BMW 将路由到使用请求参数id=BMW处理 www.example.com/manufacturers 请求的任何对象 -
iis.net/downloads/microsoft/url-rewrite 是似乎每个人都在使用的 IIS 的重写过滤器。这会让你做你想做的事,但可能的缺点是你会被绑定到特定的 Web 服务器。如果这对您很重要,请查看 Tuckey 重写过滤器以获取独立于平台的解决方案
-
这种URL重写也被广泛使用,基于Apache的mod_rewrite:helicontech.com/isapi_rewrite
-
Tukey 重写发生在 servlet 端(即 Jrun/Tomcat) - 如果涉及 Web 服务器,则没有理由等待进行 URL 重写,因此要么使用 IIS 的内置功能或 Helicon插件。
标签: url iis coldfusion url-rewriting