Code
引用了dll后
配置上面3段基本就应该完成
在本地配置没问题
一放到服务器就莫名其妙的出问题
重定向无效
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/tag/</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
如果去掉上面这段
会出现一个空引用错误
ps:说明程序确实存在且在运行
现在的问题:
到底有可能是什么东西可能影响从定向
是这里在影响的
<httpModules>
<add name="ModuleRewriter" type="URLRewriter.ModuleRewriter, URLRewriter" />
</httpModules>
它会拦截请求,然后按照定义规定向
学习!
因为URLRewriter是ASP.NET处理级别,如果你访问~/tag/这样的空目录的话,你的IIS会优先查找这个目录下面有没有默认处理页(Index.html等),如果一个默认页都没有,IIS就直接会报404找不到网页。
解决方法有两个:
1,在你的网站根目录加入tag文件夹,在这个文件夹下面建立Default.aspx的空页面,这样的话,IIS在访问~/tag/时就会找到default.aspx这个页面,然后把这个地址交给asp.net处理(映射关系可以在IIS中设置)。
2,改变设置,直接将设置改成:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/tag.aspx</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
这是变通的方法,你也可以在IIS中设置把所有的页面(html,asp,php,etc.)都交给ASP.NET处理,不过那样会加大服务器开销。
赞同楼上意见。