Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 在所有流量和所有页面上强制使用HTTPS_.htaccess_Codeigniter_Redirect_Mod Rewrite_Https - Fatal编程技术网

.htaccess 在所有流量和所有页面上强制使用HTTPS

.htaccess 在所有流量和所有页面上强制使用HTTPS,.htaccess,codeigniter,redirect,mod-rewrite,https,.htaccess,Codeigniter,Redirect,Mod Rewrite,Https,我有一个Codeigniter应用程序,它是在普通http上开发和测试的。我们最近转到SSL证书,网站的所有页面都没有在.htaccess.it中正确重定向。它只针对首页。但它不适用于其他页面: 如何在所有流量和基本url的所有页面上强制使用HTTPS 你解决这个问题的想法是正确的,但是正则表达式是不正确的。我们不需要在这里匹配所有内容,因为整个URL本身需要更改为https,因此*将在重写规则时工作。如果您还有其他规则,请尝试以下操作,然后将这些规则保留在.htaccess文件的第一个/开头。

我有一个Codeigniter应用程序,它是在普通http上开发和测试的。我们最近转到SSL证书,网站的所有页面都没有在.htaccess.it中正确重定向。它只针对首页。但它不适用于其他页面:

如何在所有流量和基本url的所有页面上强制使用HTTPS


你解决这个问题的想法是正确的,但是正则表达式是不正确的。我们不需要在这里匹配所有内容,因为整个URL本身需要更改为
https
,因此
*
将在重写规则时工作。如果您还有其他规则,请尝试以下操作,然后将这些规则保留在.htaccess文件的第一个/开头。如果
RewriteCond%{HTTPS}!on
不起作用,然后将其更改为
RewriteCond%{HTTPS}关闭
。请确保在测试URL之前清除浏览器的缓存

RewriteEngine ON
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L]


对于OP的show.htaccess,它可能如下所示,它是OP的问题+我的规则组合的简单复制/粘贴,因为我不确定OP到底在处理什么其他规则(而且这也超出了问题的重点)


重新启动发动机
重写基/
重写cond%{HTTPS}!在…上
重写规则^(.*)$https://%{HTTP_HOST}%{REQUEST_URI}[NE,L]
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([\s\s]*)$/index.php[L,B,QSA]

安装SSL证书后,您的网站可以通过HTTP和HTTPS访问。但是,最好只使用后者,因为它可以加密和保护您网站的数据

你可以在这里看到完整的教程

在所有流量上强制使用HTTPS

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
重要事项:确保发动机接通线路不会重复两次。如果行已经存在,只需复制代码的其余部分而不复制它

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\s\S]*)$ /index.php [L,B,QSA]
</IfModule>
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]