【发布时间】:2016-11-01 14:49:29
【问题描述】:
我有一个 URL foo.com/page.aspx?id=1 并且 ID 等于数据库中的一条记录。
我希望网站创建一个虚拟目录作为 foo.com/1/ 并让它在数据库中创建记录后显示相同的内容。
我如何创建一个虚拟目录,或者有没有办法在服务器上翻译它?
【问题讨论】:
标签: c# asp.net virtual-directory
我有一个 URL foo.com/page.aspx?id=1 并且 ID 等于数据库中的一条记录。
我希望网站创建一个虚拟目录作为 foo.com/1/ 并让它在数据库中创建记录后显示相同的内容。
我如何创建一个虚拟目录,或者有没有办法在服务器上翻译它?
【问题讨论】:
标签: c# asp.net virtual-directory
我会推荐IIS url rewrite module。这样页面请求 foo.com/1 就会被翻译成 foo.com/page.aspx?id=1。
<rewrite>
<rules>
<rule name="pages" stopProcessing="true">
<match url="^([0-9/]+)" ignoreCase="true"/>
<action type="Rewrite" url="page.aspx?id={R:1}"/>
</rule>
</rules>
</rewrite>
那么你就可以在page.aspx上获取带有string id = Request.QueryString["id"].ToString();的id,并从数据库中显示相应的内容。
【讨论】:
id。