我有一个网站建立在.NET4.0使用CMS (sitefinity4.0)。这个网站是托管在IIS6.0URL规范化,我需要mysite.com/innerpages.aspx重定向www.mysite.com/innerpages.aspx当我做一个302重定向的mysite.com它工作良好,页面被重定向到www.mysite.com/innerpage.aspx,但当我尝试做301重定向其显示404错误的eurl.axd/。
staging上的相同设置(具有相同的应用程序和IIS设置)适用于301和302重定向。
在寻找解决方案时,我看到一些文章建议在IIS6.0- Default.aspx page won't load on IIS 6上禁用ASP.NET v4.0无扩展URL功能
但我检查了暂存时的设置,发现暂存时未禁用它。因此,我不确定这是否会奏效。
请帮帮忙。
发布于 2012-07-07 09:32:54
我不确定你所说的“但是我已经检查了登台的设置,发现它在登台时没有被禁用”是什么意思。如果它没有被禁用,那么您将获得附加的无扩展URL。基本上发生的是,在重定向中,进程没有意识到内部附加的"eurl.axd/GUID“不是实际URL的一部分,因此它被保留(而不是剥离)。现在,如果你有意尝试在你的网站上使用无扩展URL和重定向,那么希望其他人能在这里提供帮助。
但是,如果您没有使用无扩展URL,那么您需要禁用它。您可以通过更改注册表项来完成此操作:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls = 0
并且您必须在更改该注册表项之后重新启动IIS。如果您没有该注册表项,则IIS将其视为“打开”(EnableExtensionlessUrls = 1)。所以你必须显式地添加它来去掉它。
注意:如果您运行的是64位系统,则您要查找的注册表项位于不同的位置:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\ASP.NET\v4.0.30319.0\EnableExtensionlessUrls = 0
https://stackoverflow.com/questions/10460540
复制相似问题