通过配置.htaccess文件实现子目录绑定二级域名的方法
程序员文章站
2022-09-08 19:42:26
使用linux共享主机,控制面版是cpanel的朋友都知道,他默认绑定主域名的根目录为public_html 所以如果想要放域名yourdomain.com能直接访问,势必...
使用linux共享主机,控制面版是cpanel的朋友都知道,他默认绑定主域名的根目录为public_html
所以如果想要放域名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所在目录)
所以如果想要放域名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所在目录)
上一篇: apache和mysql重启命令