所以如果想要放域名yourdomain.com能直接访问,势必需要把所有文件全直接放进public_html下。这时候如果你想再建个子站,bbs.yourdomain.com,这时BBS目录就和其他php文件或主站的文件夹混在一起,很不利于管理。
一般LINUX主机都支持.htaccess文件,所以我们可以通过.htaccess文件来实现转向
以下以blog目录和blog.shuxiong.net域名为例讲解一下
# 开启功能
RewriteEngine on
# 你要绑定的二级域名
RewriteCond %{HTTP_HOST} ^(blog.)?shuxiong.net$
# 把那个子目录指向要绑定的二级域名
# 这里以子目录blog目录为例
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /cms/$1
#这里改成要绑定的二级域名和要绑定的子目录
RewriteCond %{HTTP_HOST} ^(blog.)?shuxiong.net$
RewriteRule ^(/)?$ blog/index.php [L]
把以上代码保存成.htaccess文件,然后以ASCII方式上传到根目录(如:public_html目录)
WINDOWS不可以重命名为.htaccess的,这时候先命名为abc.htaccess,上传到服务器后,用FTP工具重命名为.htaccess就可以了。
以上.htaccess内容就是把子目录blog指向二级域名blog.shuxiong.net
比如blog.shuxiong.net,访问时就直接转到了blog目录
补充:必须先将二级域名绑定到主机根目录(如:绑定到www.abc.com所在目录)