![需要添加重定向永久规则](https://linux22.com/image/580493/%E9%9C%80%E8%A6%81%E6%B7%BB%E5%8A%A0%E9%87%8D%E5%AE%9A%E5%90%91%E6%B0%B8%E4%B9%85%E8%A7%84%E5%88%99.png)
我想将我的网站 http 请求重定向到 https 我的网站是
我的 apache 是 2.4 版本,ssl 配置(ssl.conf)与 httpd.conf 位于不同的文件中,而且我没有使用 .htaccess 文件,因此我应该附加在哪里。我已尝试过这两个文件,但没有用。
永久重定向 /https://测试
这应该在我的 httpd.conf 或 ssl.conf 上吗?还是我遗漏了其他内容?我更喜欢使用重定向而不是重写。
重写日志
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial/redir#1] (2) 使用请求的 uri /error/HTTP_BAD_REQUEST.html.var 初始化重写引擎
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial/redir#1] (3) 将模式 '^(.*)$' 应用于 uri '/error/HTTP_BAD_REQUEST.html.var'
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial/redir#1] (4) RewriteCond: 输入='off' 模式='!=on' => 匹配
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial/redir#1] (2)重写/error/HTTP_BAD_REQUEST.html.var -> *ttps://test/error/HTTP_BAD_REQUEST.html.var[QSA,R=301,L]
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial /redir#1] (2) 使用 *ttps://test/error/HTTP_BAD_REQUEST.html.var[QSA,R=301,L] 隐式强制重定向 (rc=302)
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial/redir#1] (1) 转义 *ttps://test/error/HTTP_BAD_REQUEST.html.var[QSA,R=301,L] 进行重定向
10.10.86.1 - - [05/Apr/2012:15:10:19 --0700] [test/sid#7ce00][rid#277448/initial/redir#1] (1) 重定向至 *ttps://test/error/HTTP_BAD_REQUEST.html.var%5bQSA,R=301,L%5d [REDIRECT/302]
答案1
由于您同时提供 HTTP 和 HTTPS,因此您使用虚拟主机。
该指令应放在<VirtualHost>
端口 80 的块中。
答案2
您需要两个虚拟主机配置才能使其工作,一个监听 80,另一个监听 443 以进行 SSL。您应该将其放在非 SSL 站点内的虚拟主机标签内。然后按正常方式配置 SSL 虚拟主机(在 ssl.conf 中)。
IE
Listen 12.34.56.78:80
<virtualhost 12.34.56.78:80>
Blah
some more config stuff
DocumentRoot /var/www/null
redirect permanent / https://test/
</virtualhost>
只要小心目标网站上的尾部斜线,如果你没有输入它,如果有人输入http://测试/index.php你的配置将把它们发送到https://testindex.php它将不再存在。