0

我找不到更好的标题,但我希望它是有意义的。

我有两个 Windows 服务器:

  1. 共享主机,将我的测试站点托管在子域 (test.domain.com) 上。视窗服务器 2008 R2
  2. 带有 Windows Server 2008 的云服务器。我有 IIS 访问权限

在我的第一个案例中,我刚刚使用 FTP 上传了应用程序。在我的第二种情况下,我“像往常一样”设置了 IIS。

在我的内容中,我有几个链接,它们的格式如下:

<a href="Mylink/">Text</a>

MyLink 指向使用 URL 路由的页面。但是,假设链接在某个子页面上,例如 domain.com/MySubpage,就会发生这种情况:

服务器 2 的行为:

domain.com/MySubpage/MyLink/

服务器 1 的行为:

domain.com/MyLink/

问题是,我需要我的云服务器上服务器 1 的行为。我的数据库中有很多文章,我不能轻易更改链接,所以必须有一些简单的方法来设置行为 1?

我该如何解决?

4

1 回答 1

0

看来,正如URL Anri 发布的那样,问题在于如何处理 url。服务器#1 认为它不是字典,而#2 认为它是字典。

我将此代码添加到我的 web.config 中,一切都解决了:

 <rewrite>
      <rules>

        <!--To always remove trailing slash from the URL-->
        <rule name="Remove trailing slash" stopProcessing="true">
          <match url="(.*)/$"/>
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="{R:1}"/>
        </rule>
      </rules>
    </rewrite>

由于我出于搜索引擎优化的原因想要这种行为,它没有任何不幸的问题。

于 2012-10-30T22:30:18.167 回答