【发布时间】:2016-08-15 08:54:17
【问题描述】:
我正在使用codeigniter框架,设置.htaccess文件以删除index.php并尝试为服务器启用HTTPS协议,并且发生了一些事情。
HTTP:
- 一切正常,当我访问http://www.example.com/controller/method 或http://www.example.com/index.php/controller/method
HTTPS:
一切正常,当我访问https://www.example.com/index.php/controller/method
我认为是 .htaccess 文件的问题,看起来 htaccess 文件不适用于 HTTPS 协议。
我网站的.htaccess 文件。
DirectoryIndex index.php
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
有什么问题吗?非常感谢。
【问题讨论】:
-
只需检查您是否确保文件名正确,其中文件名和类的第一个字母是大写的。
-
@wolfgang1983 文件名正确,通过 HTTP 协议访问网站时一切正常,但通过 HTTPS 协议访问网站时不起作用,看起来 .htaccess 文件仅适用于 HTTPS 协议。
标签: php apache .htaccess codeigniter mod-rewrite