Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IIS7.NET 3.5上的错误请求错误400_C#_Asp.net Mvc_.net 3.5_Iis 7 - Fatal编程技术网

C# IIS7.NET 3.5上的错误请求错误400

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位模

我在IIS7上遇到错误的请求错误400。我在URL字符串中编码了特殊字符。我的URL看起来像这样(不象%26):

如果我在.NET4.0上运行,这将是一个简单的修复,但我在RackspaceCloud上,只能在IIS7.NET3.5上运行

如果我在IIS7.NET 4.0上,我会在我的web.config中使用以下内容:

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=""