创建一个假子域

时间:2014-04-05 03:52:16

标签: php .htaccess codeigniter subdomain

我很困惑,如何制作假子域,

假设我想创建一个像

这样的虚假子域名

http://subdomain.example.com/category/my-url-category

但假的子域从

读取数据

http://www.example.com/category/my-url-category

我正在使用CI作为我的框架,我试着像这样的.htaccess

RewriteCond %{HTTP_HOST} !example.com
RewriteRule (.*) /index.php/subdomain/category/%{HTTP_HOST}/$1 [L]

但这不起作用

提前致谢

1 个答案:

答案 0 :(得分:0)

要使子域工作,您需要更改dns以将所述子域转换为您的站点。这是通过CNAME记录完成的。通常,您的DNS看起来像这样:

Domain           Type       Target
example.com      A          192.168.1.0
*.example.com    CNAME      example.com

*.example.com会将this.example.comthat.example.com路由到为example.com定义的IP,但this.other.example.com与之不匹配。如果您只想拥有一个子域名,请为该子域名创建一个CNAME记录(而不是*)。


在httpd.conf中(这是Apache的主配置文件,可能在您的操作系统上以不同方式命名)确保您的子域使用相同的文档根目录。我对此并不熟悉,但根据thisthis可能会有所帮助。


在www-root中的.htaccess中有以下规则:

RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$
RewriteRule ^(.*)$ /index.php/subdomain/category/%1/$1

这会在内部将somename.example.com/whatever/thing重写为DOCUMENT_ROOT/index.php/subdomain/category/somename/whatever/thing