2012-02-16 50 views
1

我们有一个旧版本的DNN作为我们的生产网站(版本04.09.00)运行。在我开始使用该公司之前,我的经理害怕升级到更新的版本,因为我已经对代码进行了自定义。无论如何,我们需要在开发服务器上生成另一个副本(staging.website.com),我似乎遇到了问题。页面无法找到...大部分时间

据我所知,IIS设置正确。我制作了生产数据库和生产文件系统的副本,并将其移至开发服务器上。我更改了数据库中的门户别名以匹配登台URL并类似地更改了主机设置。我编辑了连接字符串以反映新的服务器和数据库名称。我甚至在文件夹中搜索了任何对www.website.com的引用,并用staging.website.com取而代之。

然后我去了中转站点。它看起来很棒!它看起来就像生产......直到我点击一个链接。它看起来像主页是唯一的工作,我试过的每一个其他页面(我试过一堆)拿出相同的“页面无法找到”错误。我知道它正在触及数据库,因为生产中的所有动态数据和配置都显示出来了。任何想法为什么发生这种情况?

+0

我想知道是否[通配符脚本映射'检查该文件是否存在'](http://stackoverflow.com/a/4874806/243245)但反映可能不是它。但是,您是否比较了两者之间的所有IIS设置? – Rup 2012-02-16 17:53:57

+0

是的,我在IIS中并排打开了两个属性窗口,并逐个选项卡。它们几乎完全相同。 – Jeremy 2012-02-16 21:39:12

+0

我做了双重检查。他们使用相同的DLL通配符映射与“检查文件存在”打开。 – Jeremy 2012-02-17 16:32:24

回答

1

找到了解决方案(出于某种原因)。我在IIS中删除了该网站并重新创建它。这似乎已经成功了。不知道第一个网站是持有什么,但清理出来,重新开始只需要花费。

感谢您的帮助。

0

当你点击这些链接的网址是不同的?

您是否使用像IFinity的FriendlyUrlProvider这样的自定义URL提供程序?

我还会检查菜单在您的皮肤中的使用情况,如果它需要自定义配置,菜单可能会导致问题。

+0

感谢您的建议! – Jeremy 2012-02-17 14:25:24

+0

iFinity已安装,但从我可以告诉,我已禁用它在webconfig。我在iFinity也有一个帖子。 – Jeremy 2012-02-17 14:26:02

1

在旧版本的DNN上,您需要手动将PortalAlias添加到PortalAlias表以确保该网站正常工作。所以我会首先查看该表中的HttpAlias列的值并根据需要进行更新。

从那里,如果您使用的是像iFinity UrlMaster之类的东西,并且正在移除页面扩展名(IE您的url; s没有扩展名),请确保如果您在IIS 6上有通配符映射设置,或者如果您在IIS 7上运行集成管道模式。

+0

我在PortalAlias中唯一的条目是PortalAliasID = 4 PortalID = 3和HTTPAlias = staging.website.com接下来我已经说明门户3存在于门户表中。 – Jeremy 2012-02-17 15:52:42

+0

UrlMaster在生产上完美运行,这是用于登台的相同代码,数据库和iis版本。我确实通过http://www.ifinity.com.au/Products/KB/Url_Master/topic/Manually+Removing+the+Url+Master+module+configurat去尝试禁用UrlMaster,但这并没有帮助。 – Jeremy 2012-02-17 15:54:15

+0

我刚刚检查了通配符映射。有一个用于v2.0.50727/aspnet_isapi.dll生产和分期的条目,没有别的。所以他们有相同的通配符映射DLL。 – Jeremy 2012-02-17 16:02:31