apache - SSL WWW 重定向失败

标签 apache .htaccess redirect ssl no-www

我正在尝试将所有请求重定向到一个安全的非 www url。但是当我访问 https://www 时,我的代码无法重定向.这是唯一不起作用的网址,谁能帮我弄清楚为什么 https://www没有按计划重定向?这是我的代码:

<IfModule mod_rewrite.c>
  RewriteEngine On

  Options +FollowSymlinks

  RewriteCond %{HTTPS} =on
  RewriteRule ^ - [env=proto:https]
  RewriteCond %{HTTPS} !=on
  RewriteRule ^ - [env=proto:http]

  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

我正在使用 Flight php 进行路由。

最佳答案

您添加了一个条件以确保您为 www.仅对非 SSL 请求有效。

删除 RewriteCond %{HTTPS} !=on

关于apache - SSL WWW 重定向失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243751/

相关文章:

.htaccess - 从网址中删除utm_ *并保持GA跟踪

seo - 修改漂亮 URL 时管理 URL 重定向 - 最佳实践

apache - 我的 mod_rewrite 出了什么问题?

php - 使用不同的参数处理 .htaccess 重定向?

java - Tomcat 不会在浏览器中加载默认网页

apache - 防止在没有 .htaccess 的情况下从 Apache 访问文件

.htaccess - 使用尾部斜杠转发旧 URL

Apache Virtualhost 更喜欢新站点的 "default"服务器

post - POST 后使用 AngularJS 重定向到不同的页面

php - 站点安全正则表达式处理程序? (PHP)