.htaccess - 修改我的 htaccess 以重定向到 SSL URL

标签 .htaccess ssl mod-rewrite

我当前的 .htaccess 看起来像这样:

Redirect 301 /~mysite-net/vlog http://www.example.net/vlog
Redirect 301 /~mysite-net/pp https://www.example.net/pp
Redirect 301 /~mysite-net/pp02 https://www.example.net/pp02
Redirect 301 /~mysite-net/pp03 https://www.example.net/pp03
Redirect 301 /~mysite-net/ http://www.example.net/

RewriteEngine On
RewriteRule ^([A-Za-z0-9]+).html$ https://www.example.net/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*?)/?$ index.php?s=$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ index\.php\?s=([^\s]*)
RewriteRule ^/?(.*?)/?$ %1?%2%3 [L,R=301]

这符合预期,所以没问题。但是,现在我需要对其进行修改,以便它始终重定向到我网站的 SSL 版本。这意味着无论用户是否键入 http,它总是会将他们重定向到 https。

所以我只是在底部添加了这些行:

RewriteCond %{HTTP_HOST} ^example\.net [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.net/$1 [R,L]

但它不起作用。我错过了什么?

最佳答案

也许这是可行的 我想你忘了把 RewriteCond %{HTTPS} !on

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

关于.htaccess - 修改我的 htaccess 以重定向到 SSL URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53563233/

相关文章:

regex - 解释一下这个 .htaccess 片段

php - 遵循 AngularJS/MySQL/PHP 教程。无法将给定的 .HTACCESS 文件转换为等效的 web.config

php - WordPress 的自定义 500 php 页面

.htaccess - htaccess 文件夹和文件异常不起作用

php - .htaccess 重定向到仅用于主页的子域 (OpenCart)

.htaccess - htaccess 只允许查看 JS 和 CSS 文件?

apache - 向 htaccess 文件添加通配符 IP 范围?

Java SSL DH key 对生成 - 质数错误

java - 使用 HttpsUrlConnection 访问谷歌地理编码服务

ssl - 如果我同时控制服务器和客户端,可以接受自签名证书吗?