hostmonster主机域名隐藏子目录的方法

一般我们在设置Hostmonster主机多域名绑定一个站点时,往往会在浏览器中出现子目录文件名。这样会让人们浏览到我们创建的子目录,如果我们不想让它出现,我们需要做一下转向设置,隐藏该子目录。首先需要在子目录中创建htaccess文件,然后上传以下代码:

Rewrite实现301转向

例如要将http://www.r2url.com/bbs 转向到 http://bbs.r2url.com 可以用: redirect 301 /bbs http://bbs.r2url.com
或者
RewriteEngine On
RewriteRule ^(.*)$ http://bbs.r2url.com/$1 [R=301,L]

上面的代码就可以将 http://www.r2url.com/bbs/forum-51-1.html 这样类型的url转向到 http://bbs.r2url.com/forum-51-1.html
补充说明:主域名指向子目录时使用以上方法不能实现隐藏子目录

理由:主域名绑定根目录,如果指向子目录需要设置转向功能。例如,使用以下代码进行设置:

RewriteEngine on
#更改yourmaindomain.com为你的主域名地址
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
# 更改主域名要指向的子目录
RewriteCond %{REQUEST_URI} !^/subfolder/
#不要更改这两行
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 更改主域名要指向的子目录
RewriteRule ^(.*)$ /subfolder/$1
#更改yourmaindomain.com为你的主域名地址
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
#更改index.php为你的网站首页文件
RewriteRule ^(/)?$ subfolder/index.php [L]

在上述代码中实现了主域名指向子目录,使用了转向功能,如果再使用301转向设置隐藏子目录文件名。会造成循环转向。

相关知识:301转向