首页 > 解决方案 > htaccess 重定向到保持相同 URL 的另一个站点

问题描述

我正在尝试使用 htaccess 将站点重定向到另一个站点(托管在同一 Virtualmin 服务器上)

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^domain1.com$
  RewriteRule (.*)$ https://sub.domain2.co.uk$1 [P]
</IfModule>

此代码只是给出 500 内部服务器错误。

在错误日志中,我可以看到:

[Tue Jul 09 18:00:29.276394 2019] [ssl:error] [pid 17001] [remote 104.26.6.131:443] AH01961: SSL Proxy requested for sub.domain2.co.uk:80 but not enabled [Hint: SSLProxyEngine]
[Tue Jul 09 18:00:29.276436 2019] [proxy:error] [pid 17001] AH00961: HTTPS: failed to enable ssl support for 104.26.6.131:443 (sub.domain2.co.uk)

(出于隐私考虑,我已将上述域更改为通用域,但它们与我的 htaccess 示例中的两者相匹配)

我还检查了 apache 配置,并且 ssl 引擎已打开

标签: .htaccess

解决方案


很难说出了什么问题,但这是您尝试的稍微修改的版本,可以防止一些问题:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain1\.com$
RewriteRule ^/?(.*)$ https://sub.domain2.co.uk/$1 [P]

另一种方法是直接使用代理模块,而不需要重写模块:

ProxyPass / https://sub.domain2.co.uk/
ProxyPassReverse / https://sub.domain2.co.uk/

错误日志文件中的条目表明您在该代理页面上的 ssl 证书存在问题...可能是证书与您在代理规则目标中使用的主机名不匹配吗?


推荐阅读