动态子域名

动态子域名

在我的新网站上,我想拥有动态子域。我试图让子域使用与主域相同的 Web 根目录,并且全部位于单个 CodeIgniter 安装下。例如,subdomain.example.com 将指向 example.com/subdomain,而后者实际上是 example.com/index.php/subdomain。

我已经设置了 DNS、虚拟主机,但我还在忙于.htaccess

链接的 htaccess 的效果是,当导航到任何子域时,它都会陷入无限循环。(一次请求后的错误日志。) 对于 www. 来说,效果是一样的,只需解析到主域名即可。

答案1

请尝试以下操作:

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可防止无限循环。

查看Apache 文档以获取有关 的更多文档mod_rewrite

我还包含了/d/可能更容易用它进行 CodeIgniter 路由的内容,即具有特定的控制器和/或路由设置。

边注:此外,考虑www与您的站点/域设置一起使用,我意识到在处理单个域的多个主机时,编写规则和其他管理/服务器相关配置变得更加容易。

与上述规则不同,我还没有测试过以下规则,这些规则在没有该规则的情况下也可以工作www(你可以保留“强制执行无 www”规则):

RewriteCond %{HTTP_HOST} !^crashworks\.co [NC]
RewriteCond %{HTTP_HOST} ^(.*).\crashworks\.co [NC]
RewriteRule ^(.*)$ http://crashworks.co/d/%1 [L,R=301]

相关内容