将网站网址http重定向到https..for我在我的cpanl public_html根目录中上传.htaccess文件。该文件的代码为
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://sitename.in/$1 [R,L]
我托管此文件后,它也没有将我的网站重定向到https协议
答案 0 :(得分:16)
我写这个答案为时已晚,但目前工作正常。因此,请尝试在根目录.htaccess文件中执行此操作。
# Force SSL
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
注意:仅当您在cpanel服务器上安装mod_rewrite
时才会有效,否则请使用基于SSL的SSL重定向。
答案 1 :(得分:4)
我刚修改了我的Wordpress网站答案的第一部分中的.htaccess文件,将http://重定向到https://。我不需要修改索引页面,没有它我就可以正常工作。感谢作者,因为它完成了我对安全证书迁移的追求。
我的完整文件.htaccess文件对我来说就像这样。在我找到合适的答案之前,我建议制作一份本地副本,因为我打破了我的网站几次:
#RewriteCond %{HTTP_HOST} ^yoursite\.com [NC]
#RewriteRule (.*) http://www.yoursite.com/$1 [R=301,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Options +FollowSymlinks
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]
答案 2 :(得分:3)
我在网站的索引页面中添加了以下代码行
if($_SERVER["HTTPS"] != "on")
{
header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
exit();
}
然后网站网址重定向到https链接