我想从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
任何解决方案吗?
答案 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
。在测试之前,请确保在 之前清除缓存。