0

我被要求将 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>

我检查了这些行中的大部分,以确保指定的 .aspxdestinationUrl确实存在并且确实存在。在上面的示例中,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"/>

有谁知道我如何克服这个问题?

4

1 回答 1

0

我很抱歉让这个问题变得混乱。根据我的更新,将 ASP.NET 从 4.0 更改为 4.0 集成管道解决了我最初的问题。我的第二个问题是通过改变来解决的<add key="SiteUrl" value="http://localhost/" />

:S

感谢任何考虑过任何想法的人提供帮助。希望这篇文章能帮助别人。

于 2013-08-15T07:17:50.993 回答