我被要求将一个ASP.NET 4.0网站从GoDaddy移动到Arvixe。我已经使用项目解决方案设置了VS 2012,并将其配置为将站点发布到Arvixe服务器。在web.config中调整数据库连接字符串后,该站点可以正常工作。 叹息
然而,这是一个庞大的网站,拥有庞大的数据库和大量的菜单项。菜单项不起作用 - 我在大多数菜单上都收到HTTP 404 Not Found错误。这些链接与web.config中的url重写有关。这些重写中至少有100个,但我不知道它们为什么不起作用。
以下是一个例子:
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
...
<add name="mycategory" virtualUrl="^~/my-stuff/(.+)$" redirectMode="Permanent" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/mycategory.aspx?rct=$1" ignoreCase="true" />
...
</rewrites>
</urlrewritingnet>
我已经检查了这些行中的大多数,以确保destinationUrl
中指定的.aspx确实存在并确实存在。在上面的例子中,mycategory.aspx存在于根文件夹中。
在重写这些重写之前,我需要配置一些东西吗?喜欢需要启用的东西 - 或者是Arvixe所需的某些支持?顺便说一句,这是安装在Business Class ASP Pro帐户上的。
更新
我觉得很傻,但是我进入了Arvixe的控制面板,并将ASP.NET从4.0更改为4.0 Integrated Pipeline。这解决了上面的问题但导致了不同的问题......
尚未为此网站配置DNS,因此我通过IP地址访问它。此时,主页加载正常,所有菜单项都正常工作。图像加载也很好,但当我点击任何内容并转到新页面时,页面中的所有链接以及菜单项都将IP地址替换为“localhost”,这当然会破坏网站。
例如:
http://123.123.123.123/my-category/
和<img src="123.123.123.123/images/myimage.png"/>
替换为:
http://localhost/my-category/
和<img src="localhost/images/myimage.png"/>
有没有人知道如何克服这个问题?
答案 0 :(得分:0)
我为这个问题弄乱SO而道歉。根据我的更新,将ASP.NET从4.0更改为4.0 Integrated Pipeline解决了我的初始问题。我的第二个问题是通过更改<add key="SiteUrl" value="http://localhost/" />
来解决的。
:S
感谢所有想过任何想法的人。希望这篇文章可以帮助其他人。