2012-10-30 35 views
0

我找不到这个主题的更好的标题,但我希望它是有道理的。两个不同服务器上的标准链接 - 不同的行为

我有两个Windows服务器:

  1. 共享虚拟主机,主机托管我的测试网站上的一个子域(test.domain.com)。在Windows Server 2008 R2
  2. 云与Windows Server 2008服务器我有IIS访问

在我的第一个情况下,我一直在使用FTP刚刚上传的应用程序。在我的第二个例子中,我已经像往常一样设置IIS了。

在我的内容,我有形成为几个环节:

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

的myLink的导致使用URL路由的页面。然而,让我们假设链接是一些子页,例如domain.com/MySubpage,出现这种情况:

domain.com/MySubpage/MyLink/ 

从服务器1的行为:

domain.com/MyLink/ 

从服务器2行为问题是,我需要来自我的云服务器上的服务器1的行为。我的数据库中有很多文章,并且我无法轻松更改链接,因此必须有一些简单的方法来设置行为1?

我该如何解决这个问题?

+0

您可以在页面加载时动态修复链接。在服务器端,或JavaScript。 – Anri

+0

但是,如果服务器1有我需要的行为,是不是只是一些服务器设置?动态修复链接看起来相当性能沉重比刚刚开箱#1 :) –

+1

我认为这是你的情况http://stackoverflow.com/questions/4415716/relative-links-with-extension-less-网址 – Anri

回答

0

看来,作为URL Anri posted,问题是如何对待网址。服务器#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> 

,因为我想这种行为,无论如何,搜索引擎优化的原因,它没有任何不幸的问题。

相关问题