我很困惑,如何制作假子域,
假设我想创建一个像
这样的虚假子域名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]
但这不起作用
提前致谢
答案 0 :(得分:0)
要使子域工作,您需要更改dns以将所述子域转换为您的站点。这是通过CNAME记录完成的。通常,您的DNS看起来像这样:
Domain Type Target
example.com A 192.168.1.0
*.example.com CNAME example.com
*.example.com
会将this.example.com
和that.example.com
路由到为example.com
定义的IP,但this.other.example.com
与之不匹配。如果您只想拥有一个子域名,请为该子域名创建一个CNAME记录(而不是*)。
在httpd.conf中(这是Apache的主配置文件,可能在您的操作系统上以不同方式命名)确保您的子域使用相同的文档根目录。我对此并不熟悉,但根据this,this可能会有所帮助。
在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
。