我有mod_vhost_alias启用。 我的GoDaddy DNS A-Record Host ='*'指向我的服务器。
在/ etc / apache2 / sites-available / 000-default中我有
<VirtualHost *:80> UseCanonicalName Off VirtualDocumentRoot /var/www/%0/public_html VirtualScriptAlias /var/www/%0/cgi-bin </VirtualHost>
但是当我尝试去subdomain.domain.com我得到:
未find
在此服务器上找不到请求的URL /。 一直在这一天工作! 请帮忙! 谢谢!
更新:所以我得到这个工作,通过更改%0%1,因为我的文件夹名称是“子域”,但现在如果我去domain.com而不是subdomain.domain.com我得到一个错误…我怎么能有两全其美?
这里的交易:在我的例子修复C:/ s,并更新你的path。
确保在vHosts部分的顶部有“NameVirtualHost”。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/xampp/htdocs/" ServerName u4ik.info ServerAlias www.u4ik.info </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/xampp/url/" ServerName 2.u4ik.us ServerAlias 2.u4ik.us </VirtualHost>
我觉得为了简单起见,你需要select一个或另一个。 如果你要使用虚拟主机,请按照U4iK_HaZe提供的示例进行操作,如下所示:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /yourpath/to/yoursite/ ServerName yourdomain.com ServerAlias www.yourdomain.com </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /yourpath/to/yoursitesubdomain/ ServerName subdomain.yourdomain.com ServerAlias www.subdomain.yourdomain.com </VirtualHost>
如果你打算使用VirtualDocumentRoot,你可以这样做:
UseCanonicalName Off VirtualDocumentRoot /yourpath/%0/htdocs
我想,但是,你知道这一部分。 我不确定是否在服务器上创build了相应的目录。 %0匹配整个域,所以在服务器上,如果你需要调出subdomain1.yourdomain.com,目录path应该是:
/yourpath/subdomain1.yourdomain.com/htdocs
对于subdomain2.yourdomain.com:
/yourpath/subdomain2.yourdomain.com/htdocs
但是,由于您在模式匹配方面似乎没有多less经验,所以我强烈build议您使用VirtualHost选项并暂时保留VirtualDocumentRoot。