.htaccess - 从http重定向到https时.htaccess循环
问题描述
我有以下代码:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^xyz xyz.php [PT]
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
首先重定向重定向www.example.com/xyz
到www.example.com/xyz.php
.
这工作正常。
第二个有问题。如果我输入example.com
,它会创建一个无限循环以:
https://example.com/example.com/example.com
如果我输入www.example.com
,它也会创建一个类似于上面的无限循环。
我想从以下位置重定向所有内容:
http://example.com/...
https://example.com/...
至
https://www.example.com/...
我在这里想念什么?
解决方案
看起来我在重定向之前没有声明 RewriteCond %{SERVER_PORT} 80 。
推荐阅读
- javascript - 一半的 JavaScript 不会在嵌套的 if 语句中执行
- powershell - 加载附加文件 (ps1) 以在 PowerShell 模块中使用
- javascript - yield 是异步函数中的保留关键字错误
- forms - 在codeigniter中提交表单后查看同一页面
- php - 如何将 DoctrineMigrationsBundle 与 yaml 文件一起使用?
- wordpress - 如何在主页中移动内联 css 和 js?
- c# - 构建播放器时出错,因为脚本存在编译器错误
- java - 当字段为空时隐藏弹簧表单输入标签
- javascript - Javascript 简单对象默认覆盖
- php - 从 WordPress 中的特定类别获取置顶帖子