【问题标题】:Create a fake subdomain创建一个虚假的子域
【发布时间】:2014-05-17 13:38:25
【问题描述】:

我很困惑,如何制作一个虚假的子域,

假设我想制作一个类似的假子域

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]

但是没用

提前致谢

【问题讨论】:

标签: php .htaccess codeigniter subdomain


【解决方案1】:

要使子域正常工作,您需要更改 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 2015-12-25
    • 1970-01-01
    • 2017-07-02
    • 2013-11-03
    相关资源
    最近更新 更多