2

我的 .htaccess 中有以下内容 - 干净 url 的声明和 https 重定向都可以单独工作,但放在一起会导致持续重定向错误(此服务器正在以永远不会完成的方式重定向)。

这是我的.htacess:

RewriteEngine on
# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
# force to use https
#RewriteCond %{HTTPS} !=on 
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

知道我该如何解决这个问题吗?

谢谢

4

1 回答 1

2

希望我没有迟到,因为我在一天前偶然发现了同样的问题并发现了冲突。

在您的文件中写入以下内容.htaccess

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

第一条规则将自动将任何 HTTP 请求重定向到 HTTPS 并(通过关键[L]标记)停止其他会弄乱页面的替换(特别是,不会提供图像和 CSS 样式表)。

第二种是 Yii 建议的检查特定 URL 是否对应于真实文件或目录的方法,如果不是,则将请求转发到index.php(Web 应用程序的引导文件)。(那么应用程序配置文件中的规则应该完成其余的工作)。

于 2012-08-27T14:11:01.767 回答