php - htaccess 强制 https 并在没有子域的情况下将非 www 重定向到 www

标签 php apache .htaccess redirect mod-rewrite

我正在尝试强制使用 https 并将非 www 重定向到 www:

问题是我有很多 sudomain 并且我没有通配符 ssl(目前)所以我想要:

  • (x).domain.com(除了 www.domain.com)===> http://*.domain.com

这可能吗?

我发现和测试的所有答案都只强制 https 或将所有非 www 重定向到 www 我的问题是我不希望子域获得 https,除了 www 并将非 www 重定向到 www

最佳答案

给力https://www仅适用于 www.example.com ,您可以使用:

RewriteEngine on
#redirect http non-www to https://www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
#redirect https non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

关于php - htaccess 强制 https 并在没有子域的情况下将非 www 重定向到 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37137629/

相关文章:

wordpress - Wordpress 4.0 options.php中的403错误

php - Codeigniter 未在表单上发送任何数据

php - 如何摆脱 LEFT JOIN SQL 查询中的重复值

php - 在下一页中保留相同的单选按钮数据

python - Apache 上的 Flask 应用程序,CentOs 抛出 mod_fcgid : error reading data from FastCGI server

apache - Expires 指令 - 修改基础 VS Access 基础

java - 无法解析签名引用 (Apache Santuario)

php - 在 PHP 的 require_once 中使用查询字符串

php - 将中文字符从 ISO-8859-1 转换为 UTF-8

.htaccess - htaccess 如何仅重定向根而不重定向其他页面