我知道这个问题已经被问了好几次了,但我检查了很多其他答案,仍然无法解决我的问题。
假设我的网站是example.com
我想将所有http地址重定向到https,并将所有example.com
访问者重定向到example.com/main
这就是我尝试的:
RewriteEngine On
RewriteRule ^(.*)$ https://www.example.com/main/$1 [R,L]
这有点奏效,但也有一些问题。如果我键入www.example.com/main
或example.com/main
,它将转到http站点,而不是https。为什么?
此外,如果我键入example.com/works/01
,它将变为https://www.example.com/main/works/01
。它在.中添加了一个额外的"主"文件夹
如何解决此问题?
您需要检查请求是否来自http
URL方案,然后将该请求重定向到安全连接
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/main/$1 [R,L]