现在我正在codeigniter中开发一个webshop项目。 最后会有多个关于子域名的网上商店,以及主域名的首页。CodeIgniter中的mod_rewrite,subdomains和htaccess
它应该是动态的,以便网上商店获得他们自己的子域名。 店铺信息在数据库中。可以说,我有一个MySQL表包含这样的信息:
- 网上商店:鲍勃店
- webshop_subdomain:bobsshop
等。
现在在.htaccess文件中,我想制定一个重写规则,以便bobsshop.mydomain.com将被重写为mydomain.com/bobsshop/,因为我正在使用控制器在Codeigniter中工作。
你应该记住,在index.php也已经被改写了,有也应该是让子页面像bobsshop.mydomain.com/contact/
我将让PHP脚本的可能性,这将检查在数据库中存在的子域,如果它不存在,那么访问者就会看到一个404
我的DNS设置是这样ATM:
- mydomain.com xxx.xxx.xxx .xxx
- * .mydomain.com xxx.xxx.xxx.xxx
其中xxx.xxx.xxx.xxx是我的服务器IP。
我真的从来没有用过htaccess/mod_rewrite之前。 可以这样做吗?有没有人可以帮助我做到这一点?
对不起,我的英文。我希望你明白我想要做什么。
在此先感谢
似乎并不奏效。 当你进入子域时,它会成为一个商店。 像a-shop.mydomain.com一样。 现在不起作用。 如果我输入a-shop.mydomain.com,它会显示主页,它显示在mydomain.com上。 也许我应该提一下,a-shop是codeigniter中的一个动态控制器。 我的虚拟主机文件怎么样?我应该做些什么吗?那么DNS呢?这是正确的吗? – 2012-03-07 21:57:01
它仍然不起作用。 :/ – 2012-03-11 12:57:43
当你说动态控制器是什么意思?上述.htaccess会将请求从a-shop.mydomain.com/foo/bar发送到mydomain.com/a-shop/foo/bar,这意味着a-shop是控制器,foo是方法,bar是参数1。你不需要触摸你的虚拟主机或DNS设置,他们看起来很好。 – 2012-03-12 15:37:28