将域重定向到另一个域,包括文件夹结构(如果可能,使用SSL)

时间:2012-11-22 17:42:39

标签: .htaccess iis ssl dns web-config

我想将一个域重定向到另一个域,同时还保持相同的文件夹和文件请求结构:

http://libraries.domain.net/testing/another/blah.php
https://libraries.anotherdomain.com/testing/another/blah.php

暂时忽略SSL部分。

我的第一个问题很简单:

  1. 如何在web.config文件(IIS)中实现此目的?
  2. 这种重定向是什么?
  3. 为了我自己的兴趣,我如何使用.htaccess文件执行此操作?您无需回答这个问题,因为我认为question无论如何都有正确的答案,但只是希望它得到确认。
  4. 请注意:如果您只知道问题3的答案,请不要打扰回答,因为我的主要问题是关于如何在IIS中执行此操作,而不是Apache。

    SSL

    到目前为止,我已将此部分删除,因为我不确定是否可以在不接收安全错误的情况下执行此操作。但是,我想知道的是如何在保持安全连接的同时执行上面的重定向?

    显然anotherdomain.com 必须拥有有效的SSL证书,但即使domain.com转发所有网页,You are not going to where you think you are going也必须拥有有效的证书吗?

    是否有两个证书可以防止出现任何错误,或者是否会出现{{1}}或类似内容的警告?

    使用DNS执行此操作会更好吗? SSL可以与DNS一起使用吗?

1 个答案:

答案 0 :(得分:1)

  

如何在我的web.config文件(IIS)中实现此目的?

请参阅以下内容:

使用IIS URL Rewrite的一个例子:

<rule name="Redirect example.net to example.com" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="example\.net$" negate="false" />
  </conditions>
  <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
</rule>



  

这种类型的重定向是什么?

我不确定这是否有特定名称。我只称它为域重定向或30x重定向。



  

为了我自己的兴趣,我如何使用.htaccess文件执行此操作?您无需回答这个问题,因为我认为question无论如何都有正确答案,但只是想确认一下。

RewriteEngine on

RewriteCond %{HTTP_HOST} example.net$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]



  

是否会有两个证书可以防止出现任何错误,或者是否会出现警告,说明你没有去过你认为自己要走的地方,或者说是这样的话?

是的,来自可信证书颁发机构的两个有效证书可以防止出现错误(只要页面上的所有内容都来自有效的https链接)。如果证书颁发机构提供SubjectAltName支持(也称为SAN或统一通信证书),您也可以使用单个证书。

如果您有两个有效证书且只有一个IP,则可以使用SNI,但是您需要了解not all web clients can use SNI - 所以要小心。 SNI的使用正在上升,我建议这成为首选方法,因为您不必处理在更新时应该在SAN / UCC上跟踪域的头痛问题。



  

使用DNS执行此操作会更好吗? SSL可以与DNS一起使用吗?

DNS与SSL无关。你不能通过DNS恶作剧欺骗SSL。