.htaccess - 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 引擎已打开
解决方案
很难说出了什么问题,但这是您尝试的稍微修改的版本,可以防止一些问题:
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 证书存在问题...可能是证书与您在代理规则目标中使用的主机名不匹配吗?
推荐阅读
- facebook - Facebook Webhooks 页面:获得喜欢和不喜欢
- jmeter - How to test two HTTP requests in Jmeter without affecting the performance of individual requests and how to only record the results of one?
- asp.net - 更新 SQL Server 时如何将数据 nvarchar 转换为浮点数
- unix - 如何正确使用 ssh 端口转发
- python - 如何使用矢量化为 numpy-array 中的对象赋值
- unit-testing - Confirm() 在 vue jest 中点击模拟“是或否”
- c# - 为每个换行符获取一个额外的数组条目
- java - Java 正则表达式回顾
- c++ - 如何在opencv的imshow中完整显示2k视频
- csv - 使用正确的代码和文件扩展名 CSV 时如何修复“FileNotFoundError”?