用.htaccess重写将主域名指向一个子目录/文件夹

使用虚拟主机的用户想将主域名指向其中一个文件夹/目录,通过.htaccess重写就可以了。

在虚拟主机中,主域名是使用public_html目录/文件夹作为主域名的缺省目录,主域名网站的文件和程序都是放在public_html目录下,子域名使用public_html目录/文件夹下的子目录/子文件夹。有的人可能觉得public_html目录/文件夹下的会看起来比较乱,因此想把主域名也指向其中一个子目录/文件夹。这样就需要利用.htaccess的重写功能。

具体的写法如下:

  1. # .htaccess main domain to subfolder redirect
  2.     # Copy and paste the following code into the .htaccess file
  3.     # in the public_html folder of your hosting account
  4.     # make the changes to the file according to the instructions.
  5.  
  6.     # Do not change this line.
  7.  
  8.     RewriteEngine on
  9.  
  10.     # Change yourdomain.com to be your main domain.
  11.  
  12.     RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
  13.  
  14.     # Change ’subfolder’ to be the folder you will use for your main domain.
  15.  
  16.     RewriteCond %{REQUEST_URI} !^/subfolder/
  17.  
  18.     # Don’t change this line.
  19.  
  20.     RewriteCond %{REQUEST_FILENAME} !-f
  21.     RewriteCond %{REQUEST_FILENAME} !-d
  22.  
  23.     # Change ’subfolder’ to be the folder you will use for your main domain.
  24.  
  25.     RewriteRule ^(.*)$ /subfolder/$1
  26.  
  27.     # Change yourdomain.com to be your main domain again.
  28.     # Change ’subfolder’ to be the folder you will use for your main domain
  29.     # followed by / then the main file for your site, index.php, index.html, etc.
  30.  
  31.     RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
  32.     RewriteRule ^(/)?$ subfolder/index.php [L]