【问题标题】:Redirect to new domain using https Apache使用 https Apache 重定向到新域
【发布时间】:2016-06-15 16:49:28
【问题描述】:

我有这个域:

www.example.com

我想把它重定向到

https://www.example2.com

这就是我的 .htaccess 中的内容

<IfModule mod_rewrite.c>
    RewriteEngine On


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


    #Joomla Rules


     RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     RewriteCond %{REQUEST_URI} !^/index\.php
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule .* index.php [L]
</IfModule>

如果我从 www.example.com 尝试,则会应用规则并重定向我,但是当我从 example.com 尝试时,它会显示一个不安全错误 (NET::ERR_CERT_AUTHORITY_INVALID)。我怎样才能让它双向工作?

附:两个域都指向同一个IP

【问题讨论】:

  • 你不需要 mod_rewrite 来做任何事情。只需 RedirectPermanent / http://example2.com 在网站的 https 和 http 定义中。
  • 我找到了这个线程 stackoverflow.com/questions/25196891/…,我认为这是真正的问题,因为当我使用 let's encrypt 发布 SSL 时,一切正常,谢谢!

标签: apache .htaccess dns


【解决方案1】:

检查以下代码以将一个域重定向到另一个域:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www\.example\.com$
  RewriteRule (.*)$ http://www.example2.com/$1 [R=301,L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example.com [NC]
RewriteRule ^(.*)$ http://www.example2.com/$1 [R=301,NC,L]
</IfModule>

希望对你有帮助。

【讨论】:

  • 谢谢,但正如我在上一条评论中发布的那样,我的问题是我还需要为重定向的域提供有效的 SSL 证书。
【解决方案2】:

事实证明,如果重定向的域也不是 SSL,我不能只重定向到 SSL 域,这篇文章给了我答案。

Nginx HTTPS 301 redirect to another TLD (hosted on same server) without showing SSL warning

谢谢!

【讨论】:

    猜你喜欢
    • 2019-09-25
    • 1970-01-01
    • 2018-04-27
    • 2012-05-13
    • 2011-08-18
    • 2017-06-04
    • 2017-09-28
    • 2018-05-08
    • 2016-02-18
    相关资源
    最近更新 更多