在codeigniter中打开SSL认证网站时,301不会在http上重定向而不是重定向302

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在codeigniter中打开SSL认证网站时,301不会在http上重定向而不是重定向302相关的知识,希望对你有一定的参考价值。

我的网站是在codeigniter中开发的。我的网站也包括ssl证书。那么如何在打开qazxsw poi而不是302时获取301状态代码。

现在我得到以下状态:

http://www.xxxxxxx.com 302发现http://www.xxxxxxx.com 301永久移动

请在下面找到.htaccess代码:

https://www.xxxxxxx.com/

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index.php|images|robots.txt|css|docs|js|system) RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond %{HTTP_HOST} ^xxxxxxxxxxxxxxxx.com [NC] RewriteRule ^(.*)$ https://www.xxxxxxxxxxxxxxxx.com/$1 [L,R=301,NC] </IfModule> <IfModule !mod_rewrite.c> # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php </IfModule>

答案

必须小心,你错过了退出你发布的这个重写的“NC”:

enter image description here

它应该是这样的:

RewriteRule ^(.*)$ https://www.xxxxxxxxxxxxxxxx.com/$1 [L,R=301,NC]

我将汇编您的.htaccess文件以包含CI默认控制器条件和规则。这样你就可以做到:

RewriteRule ^(.*)$ https://www.xxxxxxxxxxxxxxxx.com/$1 [L,R=301]

希望这是您正在寻找的解决方案!

另一答案

这可能是服务器端的问题。我从服务器人处理我的问题。如果您遇到此问题,请联系您的服务器人员。

以上是关于在codeigniter中打开SSL认证网站时,301不会在http上重定向而不是重定向302的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter - 设置 SSL 并收到 404 错误

打开网页时出现403Forbidden是啥意思

在 Codeigniter 中无法发送电子邮件 - fsockopen():无法连接到 ssl://smtp.gmail.com:465(连接被拒绝)

在 IIS 中为默认网站配置 SSL 后 https url 未打开

Codeigniter _remap 函数

Codeigniter 显示 GMail 的 OpenSSL 错误