我有一台Windows Server 2008上的iis7,并安装了iis url重写模块2。
任何URL重写规则(在我的情况下,一个简单的规范域名规则)导致webapp返回错误500。
在我的情况下,我有4个域映射到相同的Web应用程序,并希望将其他域的3redirect到主域,设置规则后,对这些域的Web应用程序的任何请求返回错误,Web应用程序的一个域那不受规则影响仍然没有问题。
我修复了iisurl重写模块,但问题仍然存在。
如果我closures自定义错误,我看到问题是在我的networking应用程序,但是如果没有任何重写/redirect规则,我不会收到任何错误。 可能重写正在搞乱pipe道中的某些东西。
堆栈跟踪如下:
[NullReferenceException: Object reference not set to an instance of an object.] Glimpse.Core.Extensions.DataStoreExtensions.Get(IDataStore store, String key) +35 Glimpse.Core.Extensibility.AlternateMethod.NewImplementation(IAlternateMethodContext context) +50 Castle.DynamicProxy.AbstractInvocation.Proceed() +595 Castle.Proxies.IDependencyResolverProxy.GetService(Type serviceType) +177 System.Web.Mvc.DependencyResolverExtensions.GetService(IDependencyResolver resolver) +61 xxxxx.NHibernateSessionPerRequestModule.<Init>b__1(Object param0, EventArgs param1) +40 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165
url不应该重写/redirect结束请求的处理并提交响应?
我不确定你的错误,但是由于没有其他人试过答案,而你有一个问题需要解决,所以我会提出一个不同的方法来实现你的目标。
离开你的主要应用程序只回答你想要的人使用的名称。 添加第二个networking应用程序,回答你想要redirect的3个名字。 configuration此站点将stream量转发到主域。
你是在GUI中创buildredirect规则,还是直接编辑web.config? 这可能是你的web.config有一个错误的地方。 尝试closures自定义错误,以便您可以看到详细的错误消息,它应该帮助您跟踪问题。
在你的web.config中find这一行并取消注释;
<customErrors mode="off"/>
如果您在GUI中进行更改,请尝试发布当前规则的屏幕截图,有人可能会发现问题。