强制管理员在CodeIgniter应用程序

时间:2016-02-01 16:39:30

标签: php apache codeigniter

我有一个CodeIgniter应用程序,我想强制只有管理员使用HTTPS连接,而单个用户必须使用HTTP。

我在管理员控制器的控制器文件夹中有另一个文件夹,因此我尝试重定向包含服务器名称或服务器IP地址的每个请求以及URL中的admin。像这样:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule !^/admin/(.*) - [C]
RewriteRule ^/(.*) http://www.example.com/$1 [QSA,L]

它应该将每个请求重定向到http站点,该站点不包含URI中的admin表达式,但不起作用且仍在使用HTTPS。我的基本网址是:

$config['base_url'] = 'https://127.0.0.1';

我想要这个:

http://127.0.0.1/blog for users
https://127.0.0.1/admin/blog/addnew for admin

1 个答案:

答案 0 :(得分:0)

我不是Apache魔术师,但工作 -

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI}  [QSA,L]

来源:htaccess redirect all to https to http except for one folder