【发布时间】:2014-09-22 21:11:02
【问题描述】:
我想知道如何解决这种问题。首先我的目录树看起来像:
/var/www/sites/mydomain.com/
/var/www/sites/mydomain.com/public_html/
/var/www/sites/mydomain.com/subdomains/
/var/www/sites/mydomain.com/subdomains/user01/
/var/www/sites/mydomain.com/subdomains/user01/public_html/
/var/www/sites/mydomain.com/subdomains/user01/subdomains/
/var/www/sites/mydomain.com/subdomains/user01/subdomains/a/
/var/www/sites/mydomain.com/subdomains/user01/subdomains/b/
/var/www/sites/mydomain.com/subdomains/user01/subdomains/c/
/var/www/sites/mydomain.com/subdomains/user02/
/var/www/sites/mydomain.com/subdomains/user02/public_html/
/var/www/sites/mydomain.com/subdomains/user02/subdomains/
/var/www/sites/mydomain.com/subdomains/user02/subdomains/d/
/var/www/sites/mydomain.com/subdomains/user02/subdomains/e/
/var/www/sites/mydomain.com/subdomains/user02/subdomains/f/
/var/www/sites/mydomain.com/subdomains/user03/
/var/www/sites/mydomain.com/subdomains/user03/public_html/
/var/www/sites/mydomain.com/subdomains/user03/subdomains/
/var/www/sites/mydomain.com/subdomains/user03/subdomains/g/
/var/www/sites/mydomain.com/subdomains/user03/subdomains/h/
/var/www/sites/mydomain.com/subdomains/user03/subdomains/i/
我想问你如何配置我的 apache 虚拟主机以将子域更改为子目录,如上面的树动态检查目录是否存在,然后将子域更改为子目录:
http://(www\.)?mydomain.com /var/www/sites/mydomain.com/public_html/
http://(www\.)?user01.mydomain.com /var/www/sites/mydomain.com/subdomains/user01/public_html/
http://(www\.)?a.user01.mydomain.com /var/www/sites/mydomain.com/subdomains/user01/subdomains/a/public_html/
etc...
我试图使用 VirtualDocumentRoot 。 我用过
ServerAlias *.mydomain.com
比
VirtualDocumentRoot /var/www/sites/mydomain.com/subdomains/%-3/public_html/
一个水平的子域效果很好,但我不知道如何使用第二、第三... n 级来做到这一点? 配置
ServerAlias *.*.mydomain.com
和
VirtualDocumentRoot like /var/www/sites/mydomain.com/subdomains/%-3/subdomains/%-4/public_html/
没有给出预期的结果。 我几乎可以肯定我可以用 mod_rewrite 做到这一点,但不知道怎么做? 我尝试了很多配置,但可能我的知识还不够。
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.mydomain.com\\(.*)?$
RewriteCond %{REQUEST_URI} !subdomains/(.*)?
RewriteRule (.*) /var/www/sites/mydomain.com/subdomains/%1/public_html/%2 [L]
有人可以帮忙吗?
【问题讨论】:
-
您能否用通俗易懂的语言描述用户体验方面的最终结果?
-
我让我的朋友通过 ftp 访问我的服务器。我决定为每一个制作一个文件夹——只有三个,但我不会去学习一些东西。我建议他们为自己的页面创建目录 public_html 和子域。比我想将域myfrienddario.mydomain.com 指向目录/var/www/sitest/mydomain.com/subdomains/myfrienddario/public_html/。然后我想将他们的子域 http://(.*).myfrienddadrio.mydomain.com 指向 /var/www/sites/mydomain.com/subdomains/myfriendario/subdomains/(.*)/public_html/
标签: apache virtual subdomain hosts subdirectory