C# IIS7.NET 3.5上的错误请求错误400
我在IIS7上遇到错误的请求错误400。我在URL字符串中编码了特殊字符。我的URL看起来像这样(不象%26): 如果我在.NET4.0上运行,这将是一个简单的修复,但我在RackspaceCloud上,只能在IIS7.NET3.5上运行 如果我在IIS7.NET 4.0上,我会在我的web.config中使用以下内容:C# IIS7.NET 3.5上的错误请求错误400,c#,asp.net-mvc,.net-3.5,iis-7,C#,Asp.net Mvc,.net 3.5,Iis 7,我在IIS7上遇到错误的请求错误400。我在URL字符串中编码了特殊字符。我的URL看起来像这样(不象%26): 如果我在.NET4.0上运行,这将是一个简单的修复,但我在RackspaceCloud上,只能在IIS7.NET3.5上运行 如果我在IIS7.NET 4.0上,我会在我的web.config中使用以下内容: requestPathInvalidCharacters="" 在IIS7和.NET 3.5上运行时,还有哪些其他选项?发出这样的请求的唯一方法是更改注册表。 对于以32位模
requestPathInvalidCharacters=""
在IIS7和.NET 3.5上运行时,还有哪些其他选项?发出这样的请求的唯一方法是更改注册表。 对于以32位模式运行的IIS,添加以下DWORD键并将其值设置为1 HKEY\U本地\U机器\SOFTWARE\Microsoft\ASP.NET\VerificationCompatibility 如果在64位模式下运行IIS,请添加以下DWORD键并将其值设置为1 HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\VerificationCompatibility
不确定你的托管环境是否能让你访问这些东西。我在IIS7.5上测试了它,并能够使用如下编码的URL向/Barnes&Noble/default.aspx发出请求:Response.Redirect(Server.UrlEncode(“Barnes&Noble”)+“/default.aspx”) 为什么要在URL中编码特殊字符 为什么不把它们都转换成一个更容易搜索引擎优化的表单,只包含字母数字字符和破折号,并将这个特殊表单存储在数据库中呢。或者,更简单的是,将ID包含在URL中,并使用后一部分只是为了使其具有可读性和SEO友好性: e、 g.www.myjobs.com/a/1234/q-Barnes-and-noble
这种方法还意味着您可以在以后更改编码(可能会在alpha映射中添加一些新的特殊字符),而不使用任何404。我在我的应用程序中遇到了类似的问题。基本上在我的情况下,我不得不求助于一个查询字符串-
http://www.myjobs.com/a?q=q-巴恩斯+%26+Noble
requestPathInvalidCharacters=""