单页ASP应用程序和路由

时间:2014-08-15 04:32:02

标签: asp-classic routing

我认为这很简单,但事实证明很难找到我在网上寻找的信息......我有一个单页网站使用ASP而我想使用查询字符串但是我不想将Default.asp放在URL中。所以目前URL将是这样的:

http://localhost/default.asp?id=4

但我喜欢这样的事情:

http://localhost/watch?id=4

我没有使用Visual Studio,因此希望能够使用简单的文本编辑器来完成此操作。我对ASP并不熟悉,所以我非常喜欢这些概念。

1 个答案:

答案 0 :(得分:0)

您有2个选项。

1:使用可以找到的Microsoft的URLRewrite扩展程序here

您可以使用通配符为模式设置入站规则:watch,并添加在文件或目录实际存在时禁用规则的条件。 (URL Rewrite默认设置此项),然后创建指向default.asp的操作并选中Append query string框。然后,它会将所有/watch个网址发送到您的default.asp页面,并允许您的脚本按正常状态读取所有查询字符串。

2:使用自定义404错误页面:

将您的错误404页面指向IIS中的default.asp页面,但您需要使用Request.ServerVariables("Querystring")来解析所请求的实际URL,因为404错误页面无法通过使用来获取您的查询字符串您可以在选项1中执行Request.Querystring。您必须创建自己的网址阅读系统,因为作为查询字符串返回的数据类似于?404;http://www.domain.com/watch?id=12312,而不是?id=12312就像在选项1中那样。

就我个人而言,我会使用第一个选项,即使它需要安装扩展程序,它更灵活,并且不会像2选项那样用2个单独的请求来填充日志,而且它只是更多对您的脚本透明,而不是像使用选项2那样创建自己的URL阅读系统。