gpt4 book ai didi

apache - 为什么我的 mod_rewrite 不能像 HTTP 那样用于 HTTPS

转载 作者:可可西里 更新时间:2023-11-01 16:35:04 25 4
gpt4 key购买 nike

对于这些帖子中的另一个,我很抱歉,但据我所知,我的问题与那里流行的 http -> https 重定向不同。

我要

      redirect all http://www.mydomain.com traffic to https://www.mydomain.com/wiki

      redirect https://www.mydomain.com   to   https://www.mydomain.com/wiki

请注意我的第一个重定向目标中的 https。

对于第一个重定向,我可以通过以下方式实现:

RewriteEngine On
RewriteCond %{REQUEST_URI} /
RewriteRule ^(.*) https://%{SERVER_NAME}/wiki [R,L]

在我的 httpd.conf 文件中并重新启动。

我认为这也适用于我的 https://尝试。注意,我不包括

RewriteCond %{HTTPS} !=on

或类似的东西。然而,还是https://www.mydomain.com将我发送到服务器根目录中的 index.html 文件。

如果我尝试将上述重写指令放入我的 httpd-ssl.conf 文件并重新启动服务器,那么我将获得无限重定向。

我做错了什么?

注意:就其值(value)而言,/wiki 是/home/Users/myusername/www/wiki 的别名(wiki 的绝对路径)

更新

复习一下我到目前为止的尝试:

尝试 1:

在 httpd.conf 中:

RewriteEngine On
RewriteCond %{REQUEST_URI} /
RewriteRule ^(.*) https://%{SERVER_NAME}/wiki [R,L]

在 httpd-ssl.conf 中:

没有重写相关

结果 1:

将所有 http 流量重定向到 https://www.mydomain.com/wikihttps://www.mydomain.com 不做任何事

尝试 2:

在 httpd.conf 中:

RewriteEngine On
RewriteCond %{REQUEST_URI} /
RewriteRule ^(.*) https://%{SERVER_NAME}/wiki [R,L]

在 httpd-ssl.conf 中:

RewriteEngine On
RewriteCond %{REQUEST_URI} /
RewriteRule ^(.*) https://%{SERVER_NAME}/wiki [R,L]

结果 2:

无限重定向。

尝试 3:

在 httpd.conf 中:

RewriteEngine On
RewriteCond %{REQUEST_URI} /
RewriteRule !^wiki https://%{SERVER_NAME}/wiki [R,L]

在 httpd-ssl.conf 中:

RewriteEngine On
RewriteCond %{REQUEST_URI} /
RewriteRule !^wiki https://%{SERVER_NAME}/wiki [R,L]

结果 3:

无限重定向。

最佳答案

您的规则将匹配每个请求(甚至是 /wiki)。尝试排除:

RewriteRule !^wiki https://%{HTTP_HOST}/wiki [R,L]

关于apache - 为什么我的 mod_rewrite 不能像 HTTP 那样用于 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6265089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com