使用IIS6.0和dot net 4.0进行301重定向问题

时间:2012-05-05 09:31:13

标签: iis-6

我有一个使用CMS(sitefinity4.0)在dot net 4.0中构建的网站。这个站点是在IIS6.0上托管我正在尝试URL规范化,我需要mysite.com/innerpages.aspx来重定向www.mysite.com/innerpages.aspx当我为mysite.com进行302重定向时它工作正常并且页面重定向到www.mysite.com/innerpage.aspx,但当我尝试301重定向时,其显示404错误为eurl.axd /.

分段上的相同设置(使用相同的应用程序和IIS设置)适用于301和302重定向。

在寻找解决方案时,我遇到了一些建议在IIS 6.0上禁用ASP.NET v4.0无扩展URL功能的文章 - Default.aspx page won't load on IIS 6

但是我已经检查了分段设置,发现在暂存时没有禁用它。因此我不确定这是否有效。

请帮忙。

1 个答案:

答案 0 :(得分:0)

我不确定你的意思“但是我已经检查了舞台上的设置,发现在舞台上没有禁用它。”如果它未被禁用,那么您将获得添加无扩展名的URL。基本上发生的是,在重定向中,进程没有意识到内部添加“eurl.axd / GUID”不是实际URL的一部分,因此它保持开启(而不是剥离)。现在,如果您故意尝试在您的网站上使用无扩展名网址和重定向,那么希望其他人可以在这里获得帮助。

但是,如果您不使用无扩展名的网址,则需要将其禁用。您可以通过更改注册表项来执行此操作:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls = 0

您必须在更改该注册表项后重新启动IIS。如果您没有该注册表项,则IIS会将其视为“on”(EnableExtensionlessUrls = 1)。因此,您必须明确添加它以摆脱它。

注意:如果您正在运行64位,那么您正在寻找的注册表项位于不同的位置:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\ASP.NET\v4.0.30319.0\EnableExtensionlessUrls = 0