【发布时间】:2017-07-18 23:07:18
【问题描述】:
我在共享主机上有一个网站,托管默认根目录是 /public_html,但我将我的网站放在 /pulbic_html/web 以进行文件组织 p>
我已经从 cloudflare 注册了 HTTPS
我希望得到 2 个结果
- 访客可以输入https://example.com, https://www.example.com
- 访问者可以输入http://example.com、http://www.example.com 然后重定向到https://example.com 或https://www.example.com
我当前的.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
使用当前的.htaccess
- 输入http://example.com -> 工作
- 输入http://www.example.com -> 工作
- 输入https://example.com -> 工作
- 输入https://www.example.com -> 工作但重定向到http://example.com 并在浏览器上显示连接不安全警告
我用谷歌搜索并想出了
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
用这个.ht访问所有测试结果
请帮助实现这些
- 输入 https://example.com, https://www.example.com -> 工作
- 键入http://example.com, http://www.example.com -> 重定向到https://example.com 或https://www.example.com
谢谢大家
【问题讨论】:
标签: php apache .htaccess redirect mod-rewrite