创buildVHost&转发子域到它

所以大师

我有一个简单的.htaccess文件,我只redirect非www到我的web应用程序的www。 现在我想要做的是

  1. 创build一个新的虚拟主机,如http://subdomain.mydomain.tld
  2. 为任何来到该子域的人创build一个redirect到我的应用程序的文件夹,如app / webroot / subdomain

我当前的.htaccess看起来像这样

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.mydomain\.tld [NC] RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301.L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app/webroot/$1 [QSA,L] </IfModule> 

我将如何去呢? 我可以在我的.htaccess文件中完成这一切吗?还是我需要惹恼GoDaddy? 如果这是有道理的,我宁愿不在应用程序中这样做。

我正在运行Ubuntu 10.04 + Apache 2.2.14-5

谢谢

以下是您需要放入.htaccess文件的内容:

 RewriteEngine on # redirect mydomain.tld to www.mydomain.tld RewriteCond %{HTTP_HOST} ^mydomain\.tld [NC] RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L] # default website RewriteCond %{HTTP_HOST} ^www\.mydomain\.tld$ [NC] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app/webroot/$1 [NC,QSA,L] # subdomain to folder RewriteCond %{HTTP_HOST} ^(sub|subfolder)\.domain\.com$ [NC] RewriteCond %1 !^www$ [NC] RewriteRule ^(.*)/?$ http://www.domain.com/%1/$1 [NC,QSA,L]