没有查询参数的URL - 如何区分

时间:2009-07-30 23:58:08

标签: c# .net .net-1.1

环境:.NET 1.1

我遇到了这种情况。我需要提供一个URL,有人可以将它们重定向到我们的页面。当他们重定向时,他们还需要告诉我们,我需要在页面上显示什么消息。最初我想到了这样的事情。

因此,当我们根据“原因”获取此网址时,我们可以显示不同的消息。

但问题是他们根本无法发送任何查询参数。他们需要15个不同的URL,因为他们无法发送查询参数。仅仅为了显示消息而创建了15个页面对我没有任何意义。

任何聪明的想法,有一个URL并通过某种方式传递'原因'?

编辑:我正在考虑基于答案的选项

尝试HttpRequest.PathInfo

或我想的第二个选项是让httphanlder读取

读取这样的路径 - HttpContext.Request.Path

基于路径行为。当然,我将在web.config中有大约15个这样的条目。

<add verb="*" path="reason1.ashx" type="WebApplication1.Class1, WebApplication1" /> <add verb="*" path="reason2.ashx" type="WebApplication1.Class1, WebApplication1" />

看起来干净吗?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

假设IIS(我在IIS 6上运行它,但我希望它也可以在5上运行),你可以安装IIRF。然后,您可以配置不同的“友好”URL和Apache的mod-rewrite,并将它们作为查询参数发送到单个* x页面。

答案 2 :(得分:0)

他们可以发送POST变量吗?

太糟糕了,因为后面的版本支持允许RESTful URL的路由。

另一种选择是编写自定义HttpModule并拦截传入的请求。