如何在代码中执行动态URL重写...

时间:2016-08-23 20:17:49

标签: url iis url-rewriting coldfusion

我被问到是否可以设置一种方法 - 动态地 - 动态地进行URL重写。

我对URL重写的经验主要是使用基本上静态的web.config文件,我提前知道我支持的条件是什么。但在这种情况下,我正在与向我发送有关其客户的数据的合作伙伴合作,当我的网站用户被发送到其中一个网页时,他们希望我重写网址,以便它看起来像是客户的网址而不是我的网址。

示例:在我的网站上搜索吉姆的汽车商店,当我显示关于吉姆汽车商店的(他们的)内容时,网址似乎不在我的网站上,它将展示" www.JimsAutoShop.com"什么时候它真的在" wwww.mysite.com/JimsAutoShop"

我想每当我们的合作伙伴将数据推送到需要的地方时,我可以重写web.config文件,为该案例添加一个部分,但我真的不知道这是个好主意。有没有办法通过代码动态地执行此操作,当我从搜索中查询我的数据库并看到我需要屏蔽URL时,我可以这样做吗?

技术明智,我无法访问IIS,我在运行IIS的共享服务器上,而我的主应用程序堆栈是Coldfusion10。感谢

1 个答案:

答案 0 :(得分:2)

我不相信这是可能的。当您的服务器端语言获取代码时,所有内容都已在Web服务器上处理。没有什么可以重写的。你可以在技术上用Javascript来做这件事,但它只是在视觉上,它实际上不会改变URL。 (不确定您是否可以在视觉上更改域名,但我不明白为什么不这样做。我之前已经使用过网址的其他部分完成了此操作)。以下是您将如何做到这一点:https://developer.mozilla.org/en-US/docs/Web/API/History_API

如果需要这样做,web.config路由就是可行的方法。我有一个应用程序,当使用应用程序中的某些表单更新数据时,我会抓取web.config并编辑其中一个重写映射。

但我不太确定你需要什么。如果您希望域www.JimsAutoShop.com只是从您的服务器中提取文件,只需编辑DNS以指向您的服务器。不需要重写/重定向。这就是网站的运作方式。