.htaccess - 如何强制使用 HTTPS 和 WWW

标签 .htaccess ssl

我发现很少有非常相似的主题,但没有一个解决方案适合我的情况。我如何通过 .htaccess 文件强制使用 https://和 www:

我目前的代码是这样的:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]

保留最后一行的功能对于 URL 的一般功能很重要。

最佳答案

要强制 HTTPs 和 WWW 在你的 .htaccess 中使用这个:

RewriteEngine On

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

确保在测试之前清除缓存。

关于.htaccess - 如何强制使用 HTTPS 和 WWW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45220753/

相关文章:

python - 在 Python twisted 中创建受控的 TLS 对话并将其存储以用作测试数据

ssl - 无法连接到 SSL LDAP 服务器

ssl - URL 应该点击 https 而不是 http

apache - htaccess mod_rewrite 子文件夹内的 URL

regex - .htaccess在根目录和子文件夹中,每个都重定向到自己的index.php

php - .htaccess mod_rewrite 对于漂亮的网址不起作用

ssl - 带 SSL3 的 MSXML2.ServerXMLHTTP?

php - 如何使用htaccess限制对文件夹及其子文件夹中所有文件的访问并重定向到主文件夹?

.htaccess - 如何使用 RewriteCond 组合标志?

ssl - 是否有必要在与生产服务器的 EC2 链接上强制使用 SSL?