Host Monster一个使用HostMonster的用户想将主域名指向其中一个文件夹/目录,问我会不会弄,我随即就说通过.htaccess重写就可以了,虽然对.htaccess有一定的了解,可是真正要实现这个功能的重写,还不知道具体怎么实现,尝试了几次都出现这样或那样的问题。无奈中~~只好上网寻找答案~~

找这种答案还是很容易的,很快就在HostMonster的知识库里找到了,那里有一篇文章专门写如何用.htaccess重写将主域名指向一个子目录/文件夹。

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

具体的写法如下:

# .htaccess main domain to subfolder redirect
# Copy and paste the following code into the .htaccess file
# in the public_html folder of your hosting account
# make the changes to the file according to the instructions.

# Do not change this line.

RewriteEngine on

# Change yourdomain.com to be your main domain.

RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$

# Change ’subfolder’ to be the folder you will use for your main domain.

RewriteCond %{REQUEST_URI} !^/subfolder/

# Don’t change this line.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Change ’subfolder’ to be the folder you will use for your main domain.

RewriteRule ^(.*)$ /subfolder/$1

# Change yourdomain.com to be your main domain again.
# Change ’subfolder’ to be the folder you will use for your main domain
# followed by / then the main file for your site, index.php, index.html, etc.

RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

You can leave a comment, or trackback from your own site.

bluehost美国虚拟主机-$6.95/月-无限空间/无限流量/一个免费域名

相关日志

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

  1. bolo says:

    May 26th, 2009 at 7:10 pm

    有了个linux主机,要好好学学这一个了

  2. Feng says:

    July 9th, 2009 at 5:41 pm

    这个方法不错,在Godaddy的linux主机上同样可行
    谢谢站长

  3. Beishan says:

    July 9th, 2009 at 6:01 pm

    呵呵,能用htaccess的都可以

Leave a comment