php – 强制https协议
发布时间:2020-12-13 21:45:55 所属栏目:PHP教程 来源:网络整理
导读:如何强制我的网站在整个网站中使用https://?我的网站是使用CodeIgniter,MySQL和 amp;在CentOS上的Apache,任何人都可以请赐教. 编辑: 我正在使用CodeIgniter,它有.htaccess.正如我在下面的评论中提到的,我想做相反的事情(在网站的某些部分强制使用https):
如何强制我的网站在整个网站中使用https://?我的网站是使用CodeIgniter,MySQL和& amp;在CentOS上的Apache,任何人都可以请赐教.
编辑: 我正在使用CodeIgniter,它有.htaccess.正如我在下面的评论中提到的,我想做相反的事情(在网站的某些部分强制使用https): 我系统上的.htaccess: Options -Indexes <IfModule mod_rewrite.c> 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] </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> 如果我添加@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} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Zend Framework入门知识点小结
- 详解WordPress中创建和添加过滤器的相关PHP函数
- php – 从mysql datetime添加10分钟到日期并将其与现在的时
- php – 星期几到日数(星期一= 1,星期二= 2)
- 织梦sitemap地图实时推送给百度的教程
- TP5.0中多图上传文件名重复问题
- php – Doctrine2 ODM限制不起作用/ mongodb
- php – doctrine 2与自定义字段名称的多个关系
- PHP中json_encode、json_decode与serialize、unserialize的
- PHP编程:PHP+Mysql实现多关键字与多字段生成SQL语句的函数