利用.htaccess绑定子域名到子目录(阿里云虚拟主机可用)

  1. 云栖社区>
  2. 博客>
  3. 正文

利用.htaccess绑定子域名到子目录(阿里云虚拟主机可用)

周家华 2017-10-19 09:31:03 浏览4052
展开阅读全文

登陆域名管理台(如DNSPod) 把需要绑定的域名解析到你的空间;

登陆虚拟主机/空间管理台(如阿里云) 绑定域名到空间;

首先在本地建个txt文件,复制下面的代码修改替换你要绑的域名和目录,并传到网站主目录下再改成为.htaccess。注:在Windows系统下无法创建只有扩展名没有名字的文件,只能上传后修改。

下面是以 tec.tson.com 绑定到子目录tec为例的.htaccess代码.

        <IfModule mod_rewrite.c>

        RewriteEngine On

        RewriteBase/

        # 绑定 tec.tson.com 到子目录 tec

        RewriteCond%{HTTP_HOST}^tec\.tson\.com$[NC]

        RewriteCond%{REQUEST_URI}!^/tec/

        RewriteRule^(.*)$tec/$1?Rewrite[L,QSA]

        #可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了

        </IfModule>

把上面的代码生成的.htaccess文件放到网站的根目录下就能正常访问了,但注意一个问题:如果你先前的网站里面也用到.htaccess文件的话,一定要把这些代码加到原来的.htaccess文件最后面。也有很多程序会自己生成.htaccess文件,大家一定要注意。

我在用这个方法来做自己的子站的时候就造成自己的网站大约在半个小时处于无法访问状态,好在当时是在深夜,不知对大家使用网站造成影响没有。

现在你的子域名应该可以访问了。但还可以更完美,下面的.htaccess文件可以让我们用路径访问时直接跳转到二级域名。将.htaccess文件放到子目录下:

        <IfModule mod_rewrite.c>

        RewriteEngineOn

        RewriteBase/

        #只许绑定的域名访问

        RewriteCond%{HTTP_HOST}!^tec\.tson\.com$[NC]

        RewriteRule(.*)http://tec.tson.com/$1 [L,R=301]

        #对绑定目录下与 同名的目录的处理

        RewriteCond%{REQUEST_URI}^\/tec\/[NC]

        RewriteCond%{QUERY_STRING}!^(.*)?Rewrite

        RewriteRule^(.*)$/%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite[L,QSA]

        </IfModule>

实例

#一对一绑定域名方法
	
	<IfModule mod_rewrite.c>

	 RewriteEngine On
	 RewriteBase /

	 # 绑定www.blooo.cn 到子目录bloo

	 RewriteCond %{HTTP_HOST} ^blooo\.cn$ [NC]
	 RewriteCond %{REQUEST_URI} !^/blmo/
	 RewriteRule ^(.*)$ blmo/$1?Rewrite [L,QSA]

	 # 绑定www.blooo.cn 到子目录blmo

	 RewriteCond %{HTTP_HOST} ^www\.blooo\.cn$ [NC]
	 RewriteCond %{REQUEST_URI} !^/blmo/
	 RewriteRule ^(.*)$ blmo/$1?Rewrite [L,QSA]

	 # 绑定music.blooo.cn 到子目录blmu

	 RewriteCond %{HTTP_HOST} ^music\.blooo\.cn$ [NC]
	 RewriteCond %{REQUEST_URI} !^/blmu/
	 RewriteRule ^(.*)$ blmu/$1?Rewrite [L,QSA]
	
	 # 绑定www.zhoujiahua.cn 到子目录jiahua

	 RewriteCond %{HTTP_HOST} ^zhoujiahua\.cn$ [NC]
	 RewriteCond %{REQUEST_URI} !^/jiahua/
	 RewriteRule ^(.*)$ jiahua/$1?Rewrite [L,QSA]

	 RewriteCond %{HTTP_HOST} ^www\.zhoujiahua\.cn$ [NC]
	 RewriteCond %{REQUEST_URI} !^/jiahua/
	 RewriteRule ^(.*)$ jiahua/$1?Rewrite [L,QSA]


	 #可以绑定多个, 只需重复上三行代码并更改一下域名、目录名 就OK了
	 </IfModule>


网友评论

登录后评论
0/500
评论
周家华
+ 关注