php设置强制https,php – 强制https协议

如何强制我的网站在整个网站中使用https://?我的网站是使用CodeIgniter,MySQL和& amp;在CentOS上的Apache,任何人都可以请赐教.

编辑:

我正在使用CodeIgniter,它有.htaccess.正如我在下面的评论中提到的,我想做相反的事情(在网站的某些部分强制使用https):

我系统上的.htaccess:

Options -Indexes

RewriteEngine On

RewriteBase /

#Removes access to the system folder by users.

#Additionally this will allow you to create a System.php controller,

#previously this would not have been possible.

#'system' can be replaced if you have renamed your system folder.

RewriteCond %{REQUEST_URI} ^system.*

RewriteRule ^(.*)$/index.php?/$1 [L]

#When your application folder isn't in the system folder

#This snippet prevents user access to the application folder

#Submitted by: Fabdrol

#Rename 'application' to your applications folder name.

RewriteCond %{REQUEST_URI} ^application.*

RewriteRule ^(.*)$/index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,

#such as an image or css document, if this isn't true it sends the

#request to index.php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$index.php?/$1 [L]

# 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

如果我添加@Dale建议的内容:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond ^(login|register|userportal)

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

我得到回应500.有什么想法吗?

解决方法:

我以前在.htaccess文件中使用过它

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

可能有更好的实现,但它总是对我有用

如果你想删除我使用过的www部分

RewriteCond %{HTTP_HOST} ^www\.(.+)

RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)

RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]

这是合并后的规则

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTP_HOST} ^www\.(.+)

RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)

RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]

这首先处理协议,然后删除w

更新:

要为特定目录强制执行https协议,您可以使用类似的东西

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond ^(login|register|userportal)

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

如果您使用上述内容,您当然会删除此(下方)

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

标签:php,codeigniter,https,centos,apache

来源: https://codeday.me/bug/20190729/1570134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值