对于URL重写,我在global.asax
中编写了代码只是为了测试而我正试图
string hurl = HttpContext.Current.Request.Url.AbsoluteUri.ToLower()
if(hurl.Contains("atech.html")){HttpContext.Current.RewritePath("btech.html");}
我还配置了
<modules runAllManagedModulesForAllRequests="true"/>
这适用于我的本地iis,但我没有在我的托管服务器上运行
给出404错误。
答案 0 :(得分:0)
好的,这就是我修复此问题的方法......需要告诉IIS要处理哪些文件。在我的情况下,我需要一些* .js文件和* .php文件的处理程序重定向到aspx或ashx文件。
在本地它工作得很好但是当我部署所有我得到的是404。
所以你需要进入IIS。找到你的站点配置并在你的处理程序映射中添加条目(IIS7,在IIS6中我认为它在应用程序配置中)来处理* .XXX并拥有你为* .aspx处理它的任何处理程序(通常是它的System.Web.UI.PageHandlerFactory) )
应该修复它。希望这有帮助
答案 1 :(得分:0)
我能够通过使用“在发布之前删除所有现有文件”选项发布我的网站来解决此问题,此选项位于“发布”向导窗口,“设置”&gt; “文件发布选项”。
在我的情况下,由于某些未知原因,在global.asax.cs上执行Application_BeginRequest被忽略,我能够确认此问题在Application_BeginRequest中添加日志条目,从未记录日志条目。
答案 2 :(得分:0)
尝试将Managed Pipeline Mode从经典切换到应用程序池中的集成