在我的新网站,我想有dynamic的子域名。 我正在努力使这个子域使用与主域相同的web根目录,所有这些都在一个CodeIgniter安装下。 例如,subdomain.example.com会导致example.com/subdomain,它实际上是example.com/index.php/subdomain。
我已经build立了虚拟主机的DNS,但是我却陷入了.htaccess 。
链接htaccess的效果是,当导航到任何子域时,它会陷入无限循环。 ( 一个请求后出现错误日志。 )这对www。应该是相同的效果,应该只是parsing到主域。
尝试以下操作:
RewriteCond %{HTTP_HOST} !^www [NC] RewriteCond %{HTTP_HOST} ^(.*).\crashworks\.co [NC] RewriteRule ^(.*)$ http://www.crashworks.co/d/%1 [L,R=301]
这里要注意的重要的事情是在RewriteCond使用(.*) ,而在反向引用中的%1是针对RewriteCond匹配的。 另外!^www防止无限循环。
有关mod_rewrite其他文档,请参阅Apache文档 。
我还包含了一个/d/因为它可能更容易做到你的CodeIgniter路由,也就是说,有一个特定的控制器和/或路由设置。
注意:另外,考虑使用www与您的网站/域设置,我已经认识到,处理单个域的多个主机时,写规则和一般的其他pipe理员/服务器相关configuration变得更容易。
与上述规则不同,我没有testing下列规则,这些规则应该在没有www情况下工作(并且您可以保留“不执行任何www”规则):
RewriteCond %{HTTP_HOST} !^crashworks\.co [NC] RewriteCond %{HTTP_HOST} ^(.*).\crashworks\.co [NC] RewriteRule ^(.*)$ http://crashworks.co/d/%1 [L,R=301]