从HTTP重定向到HTTPS显示公用文件夹

时间:2018-07-20 14:58:21

标签: .htaccess http redirect https

我想从http重定向到https。

我尝试使用此.htaccess代码

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

但在网址中显示公用文件夹

更多说明我的网站是www.example.com白色,此代码是这样的www.example.com/public/

我的代码是我的.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?$1 [L,QSA]

并且我想重定向到特定域,如果用户尝试例如example.com,我需要重定向到www.example.com

任何解决方案吗?

1 个答案:

答案 0 :(得分:1)

之所以会这样,是因为您也在RewriteRule中请求URI。您需要将规则更改为以下内容:

RewriteEngine On
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

您可以看到此规则与/public/ URI一起here使用,并且仅进入https://example.com。在测试之前,请确保在 之前清除缓存。