Codeigniter的多域名

时间:2015-04-16 11:33:33

标签: php codeigniter

嗨我们有一个关于codeigniter的项目PHP在我的控制器中有两个文件夹

  • 构件
  • 管理员

我可以像这样访问这些文件夹

http://example.com/member
http://example.com/admin

但我希望没有任何人像上面的域一样访问这些文件夹,如果任何一个访问如上面的域显示404错误页面

我希望任何人都可以访问这些文件夹来帮助子域名 喜欢

http://member.example.com
http://admin.example.com

我的问题是如何在codeigniter文件夹中为不同的文件夹创建子域 以及如何显示上述问题的错误404页面

2 个答案:

答案 0 :(得分:1)

实现这一目标的一种方法是使用@Sagar Khatri提到的通配符子域或特定子域和HTACCESS。

您创建子域名:member.site.com& admin@site.com

现在使用HTACCESS文件(这是一个Apache配置文件),我们将限制对这些子域的访问

# dont allow acces to the admin controller not under the admin subdomain
RewriteCond %{HTTP_HOST} !^admin.site.com$ [NC]
RewriteCond $1 ^index.php/admin/(.*) [NC]
RewriteRule (.*) http://%{HTTP_HOST}/your-404-page

对于成员控制器也是如此

#dont allow acces to the member controller not under the member subdomain
RewriteCond %{HTTP_HOST} !^member.site.com$ [NC]
RewriteCond $1 ^index.php/member/(.*) [NC]
RewriteRule (.*) http://%{HTTP_HOST}/your-404-page

请记住,一旦你拥有子域名,如果你不限制它,那么来到admin.site.com下的网站的用户将能够看到该站点的所有其他页面(成员控制器除外),如果你想限制他们访问管理控制器,你将不得不添加另一个重写规则。

答案 1 :(得分:0)

就这样做

$config['base_url'] = '';

在config.php中为您的应用启动