2014-04-01 39 views
2

所以我刚开始用codeigniter构建一个新的应用程序。我想要做的是以下几点。子域自动指向

有一个自动生成的字符串存储在数据库中- 得到了这部分内容。

// Auto Generated String  
gc149354 

分享添加到我的正常域名的电子邮件客户端自动生成的字符串 - 得到了这个部分,以及覆盖。

// Appended to the domain name 
http://gc149354.mycoolurl.com 

这一切是非常标准的PHP和笨编码。但是,它变得棘手的地方实际上是让那个用户在某处指引用户。

我希望它将客户端指向名为newsite.php的代码控制器,该代码存储在controllers/new-site/newsite.php中,控制器将处理所有事情。

我在想我会在我的目录的根目录下需要.htaccess。也许像这样:

RewriteEngine On # Turn on the rewriting engine 

RewriteRule  (gc[0-9]+)/  /get-started [NC] 

除了呼吁mycoolurl.com/gc149354而不是gc149354.mycoolurl.com吧?

那么我怎样才能路由所有以gc开头的子域,然后由6个数字1-9路由到codeigniter中的getstarted控制器?

回答

0

你指的是这样的:

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] 

与“子” GET参数将被给予子域名字符串。或者,如果您的控制器可以查看子域,则可以删除?sub=%1部分。

+0

我得到'he URL'gs87984.the-green-panda.org“无效”,它被重定向到我的互联网提供商cox的页面。 – user3367639

+0

我需要在我的域名上创建一个“通配符子域名”吗? – user3367639

+0

@ user3367639是的,如果你没有设置网站接受'* .mycoolurl.com',那么服务器将不会接受这些请求。 –