php / htaccess动态子域名

时间:2010-09-14 05:27:36

标签: php .htaccess subdomain

基本上,我想做的事情:

  1. 将child.domain.com更改为domain.com/child

  2. 但是,我已经在htaccess中使用ReWriteRule将domain.com/child更改为domain.com?page=child。当然,在htaccess中,我还有一个重写条件来忽略实际的文件夹和文件。但是如果我为子项创建一个子域,服务器实际上会为子项创建一个物理文件夹,因此RewriteRule将完全忽略domain.com/child。

  3. 如果可能,我想将child.domain.com直接更改为domain.com?page=child

  4. 这可以通过htaccess实现,还是必须在我的cpanel中设置子域?

1 个答案:

答案 0 :(得分:0)

您必须配置子域,以便它能够正确响应dns查询。您可以将子域解析为同一服务器。

重写规则按照它们在配置文件中出现的顺序进行处理,您可以将[L]附加到规则的末尾,以控制是停止处理还是继续应用其他规则。

使用RewriteCond与主机名匹配(以下RewriteRule仅在满足RewriteCond时匹配:

RewriteCond %{HTTP_HOST} subdomain.domain.com
RewriteRule ^/(.*) http://domain.com/?page=subdomain&$1 [L]