我已经让URLRewriter完美地在我的localhot上工作了,但是在制作中我遇到了404错误。
我正在使用IIS 6,根据我的阅读,这应该可以正常工作。
以下是我在web.config中的内容:
<rewriter>
<rewrite url="~/(\d+)$" to="~/Items/Details.aspx?ItemId=$1" />
<rewrite url="~/Items/(\d+)$" to="~/Items/Details.aspx?ItemIId=$1" />
</rewriter>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
有没有人有类似的问题并解决了?
谢谢!
答案 0 :(得分:0)
<rewrite url="~/Items/(\d+)$" to="~/Items/Details.aspx?ItemIdId=$1" />
GET参数是否为ItemId?此刻它是ItemIdId。
希望这有帮助。
答案 1 :(得分:0)
这是因为您需要在生产服务器上设置通配符映射。 IIS6只运行某些文件格式,如.aspx等,但不会将无扩展名的URL映射到asp.net管道。
本教程将回答您的问题:
注意:您需要远程桌面访问您的服务器,因此这在共享托管环境中是不可能的,除非您的主机愿意代表您进行设置。