阿里云共享虚拟主机子目录绑定子域名方法

  • 酉灿
  • 收藏夹吃灰系列
  • Sep 11, 2020

虽然阿里云共享虚拟主机没有子目录绑定子域名功能,但是我们可以通过.htaccess 文件来达到同样的效果。

首先我们需要在网站根目录新建一个文件夹这个文件夹就是你下一步要使二级域名绑定的子目录,例如我在根目录新建了一个名为m的文件夹,而后需要在网站根目录建设一个名为.htaccess的文件,注意这个文件是没有后缀的,将以下代码加入.htaccess后保存!


  1. 
    		
    RewriteEngine On
  2.  
    RewriteBase /
  3.  
    # 绑定m.abc.cn 到子目录m
  4.  
    RewriteCond %{HTTP_HOST} ^m.abc.cn$ [NC]
  5.  
    RewriteCond %{REQUEST_URI} !^/m/
  6.  
    RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA]
  7.  
    #可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了


这样我们在访问m.abc.cn时就会发现真的利用.htaccess实现二级域名绑定子目录的目的,但是当我们在访问主站+目录时依然是可以访问的,这样对SEO会有些不太友好,因此我们在m文件夹内新建一个.htaccess使只有访问m.abc.cn时才可以访问!


  1.  
    RewriteEngine On
  2.  
    RewriteBase /
  3.  
    #只许绑定的域名访问
  4.  
    RewriteCond %{HTTP_HOST} !^m.abc.cn$ [NC]
  5.  
    RewriteRule (.*) http://m.abc.cn/$1 [L,R=301]
  6.  
    #对绑定目录下与 同名的目录的处理
  7.  
    RewriteCond %{REQUEST_URI} ^/m/ [NC]
  8.  
    RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
  9.  
    RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]


利用虚拟主机普遍支持.htaccess的特性,我们可以利用.htaccess实现二级域名绑定子目录,但为了保证m目录不被搜索引擎抓取,我们还需要在主网站根目录建设一个robots.txt文本限制蜘蛛抓取爬行!


  1.  
    User-agent: *
  2.  
    Disallow: /m


这样就防止搜索引擎收录主站+目录了,搜索引擎只能通过二级域名进行抓取!

打赏