如果 Joomla 有斜线目录,则从 http 到 https 的重定向不起作用

如果 Joomla 有斜线目录,则从 http 到 https 的重定向不起作用

注意:我无法成为 example.com 的 root ,因此无法编辑 httpd.conf。

我想要任何东西http://example.com重定向到 https 并包含斜线目录。这是问题的一个例子。如果是http://www... 或者http://example.com...

如果 URL 如下所示:

http://www.example.com/suggestions

它错误地重定向到主页:

https://www.example.com/index.php

当期望的结果是重定向到这里时:

https://www.example.com/suggestions

以下是我正在使用的 .htaccess 代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

答案1

据我所知,您正在强制在所有请求中使用 https - 对吗?

快速谷歌搜索给了我:

RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

快速分解一下其含义:

RewriteCond告知这适用于所有未使用 HTTPS 调用的请求。

其中发生了两件事RewriteRule

1)/?(.*)表示它必须匹配路径中的所有内容,然后将其存储在内置变量中$1

2)%{SERVERNAME}是一个指向服务器名称的内置变量(在您的情况下为 www.example.com)。

因此,RewriteRule 基本上说:匹配路径中的所有内容并重定向到同一域上的 HTTPS 对应部分。

相关内容