Php 子域自动指向

Php 子域自动指向,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,所以我刚刚开始用codeigniter构建一个新的应用程序。我想做的是以下几点 在数据库中存储一个自动生成的字符串——涵盖了这一部分 在给客户的电子邮件中分享自动生成的附加到我的常规域名的字符串——这部分也包括在内了 所有这些都是使用php和codeigniter编写的标准代码。但是,真正棘手的是要有urlhttp://gc149354.mycoolurl.com将用户引导到某个地方 我希望它将客户端指向codeigniter中名为newsite.php的控制器,该控制器存储在controlle

所以我刚刚开始用codeigniter构建一个新的应用程序。我想做的是以下几点

在数据库中存储一个自动生成的字符串——涵盖了这一部分

在给客户的电子邮件中分享自动生成的附加到我的常规域名的字符串——这部分也包括在内了

所有这些都是使用php和codeigniter编写的标准代码。但是,真正棘手的是要有url
http://gc149354.mycoolurl.com
将用户引导到某个地方

我希望它将客户端指向codeigniter中名为
newsite.php
的控制器,该控制器存储在
controllers/new site/newsite.php
中,控制器将处理从那里开始的一切

我想我需要在目录根上的
.htaccess
中找到一些东西。也许是这样:

RewriteEngine On    # Turn on the rewriting engine

RewriteRule     (gc[0-9]+)/     /get-started    [NC]
除了调用
mycolurl.com/gc149354
而不是
gc149354.mycolurl.com
对吗


那么,如何将以gc开头并后跟6个数字1-9的所有子域路由到codeigniter中的getstarted控制器?您指的是:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(gc[0-9]+)\.mycoolurl\.com$ [NC]
RewriteRule ^/?$ /controllers/new-site/newsite.php?sub=%1 [L,QSA]

“sub”GET参数将被赋予子域字符串。或者,如果你的控制器可以查看子域,你可以去掉
?sub=%1
部分。

我得到
URL“gs87984.green panda.org”无效
,它被重定向到我的互联网提供商cox的页面。我需要在我的域名上创建一个
通配符子域吗?@user3367639是的,如果您没有将网站设置为接受
*.mycolurl.com
,则服务器将不会接受这些请求。
RewriteEngine On    # Turn on the rewriting engine

RewriteRule     (gc[0-9]+)/     /get-started    [NC]
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(gc[0-9]+)\.mycoolurl\.com$ [NC]
RewriteRule ^/?$ /controllers/new-site/newsite.php?sub=%1 [L,QSA]