需要添加重定向永久规则

需要添加重定向永久规则

我想将我的网站 http 请求重定向到 https 我的网站是

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它将不再存在。

相关内容