我已经设置了子域通配符来接受任何subdomian,主要问题是我使用DirectAdmin并且我无法使用DA API将子域指向特定路径 我想将任何subdomian指向名为subdomian的文件夹,该文件夹存在于子目录
中例如sub.domian.com应指向/ public_html / subdomains / sub
类似这样的事情
<VirtualHost *:80>
VirtualDocumentRoot /public_html/subdomains/%1
</VirtualHost>
如果我设置了一个像“.x”这样的单词的子域名来指向该路径,那么这将是我的理想
也许喜欢
<VirtualHost *.x:80>
VirtualDocumentRoot /public_html/subdomains/%1
</VirtualHost>
抱歉,如果问题听起来很愚蠢
答案 0 :(得分:0)
看起来这就是你需要的:
<VirtualHost *:8080>
ServerName localhost
ServerAlias *.localhost
#the %1 is the asterisk value! No regexp supported!
VirtualDocumentRoot /home/%1/project
VirtualScriptAlias /home/%1/project
<Directory /home/*/project/>
#...
</Directory>
</VirtualHost>
答案 1 :(得分:-3)
这可以完全使用htaccess完成。 您必须启用通配符子域名* .domain.com并将其指向domain.com
然后您可以使用以下类型的规则:
RewriteCond %{HTTP_HOST} !www.domain.com [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).domain.com [NC]
RewriteRule ^(.*/) /%1/index.php [PT,L]
您可以修改RewriteRule作为存储子域的文件。
答案 2 :(得分:-3)
找到了答案
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !www\.domain\.com$[NC]
RewriteCond %{HTTP_HOST} ^(.*?)\.domain\.com$
RewriteCond %{REQUEST_URI} !folder/(.*?)/
RewriteRule ^(.*) /folder/%1%{REQUEST_URI} [L]
</IfModule>