0

我将我的 DNS 配置为接受任何子域(通配符 *),但我无法将所需的内容反馈给浏览器。

public_html我希望每个子域都返回相对内容,这些内容位于我的服务器路径中同名的子目录中。

例如,example.domain.com/picture.jpg实际上会在public_html/example/picture.jpg

目前我已经测试了以下 .htaccess 代码,但它不起作用:

RewriteCond %{HTTP_HOST}   ^(.*)\.domain\.com$ [NC]
RewriteRule ^(.*)$         %1/$1 [L]

此代码和类似测试可以根据子域 (%1) 进行重定向,但请求字符串 ($1) 似乎是问题所在。

4

2 回答 2

1

也许你可以看看 mod_vhost_alias 模块:

http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html

于 2010-12-17T13:20:15.927 回答
0

尝试以下操作:

    RewriteCond %{HTTP_HOST} ^([0-9a-z-]+).domain.com [NC]
    RewriteRule ^/(.*) http://domain.com/%1/$1 [L]

我没有测试这个,但我使用类似的代理规则:

RewriteCond %{HTTP_HOST} !^domain.local [NC]
RewriteCond %{HTTP_HOST} ^([0-9a-z-]+).domain.com [NC]
RewriteRule ^/(.*) http://domain.local/%1/$1 [P]
于 2010-12-17T13:27:08.897 回答