绑定域名到子目录建多个站点

我的博客主机用的是阿里云web托管,没有新域名绑定子目录功能,默认只能建一个站点。但是这么大一个空间太浪费了,可以在一个空间里同时建多个网站。比如在根目录下建一个子目录a存放另外一个网站,那么用我的地址是wuxiaofeng.net/a,但是如何直接用新域名aaa.com来访问这个目录呢?这里就需要用到网站根目录的.htaccess文件了。
1、首先在本地新建一个.htaccess的文本文件,完整的就是.htaccess.txt。
2、在文本里复制进如下代码:

RewriteEngine On
RewriteBase /
#绑定 主域名 到a子目录
RewriteCond %{HTTP_HOST} ^(www\.)?aaa\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/a/
RewriteRule ^(.*)$ a/$1?Rewrite [L,QSA]

3、将该文本文件的扩展名.txt去掉,使用ftp上传工具上传到网站的根目录。

以上是正常的操作方法,但是阿里云比较特殊,阿里云比较特殊,阿里云比较特殊。这点网上都没讲,需要注意:

①、普通PHP环境的.htaccess文件用txt另存为就可以了,但是阿里云不能这样建,因为txt编码的关系会导致服务器不能正常运行,不是代码错误。必须用代码编辑器例如editplus更改编码方式为UTF-8,不能带ROM!
②、代码内容含义不多解释了;也是因为阿里云的特殊性,第二行RewriteBase /必须要有,否则也不能识别。
③、还是阿里云的特殊性,.htaccess这样上传到网站根目录可以正常运行,但是一旦php服务重启,就会再也无法启动。唯一的办法是把.htaccess删除或改个名字,等php服务启动了再把.htaccess文件放进来。所以想要建一个稳定网站长期做SEO的建议不要采取这样的方式,老老实实一个主机建一个站点吧,因为阿里云一旦内部维护或者服务重启,你的网站就会宕机。

网站做301重定向也是通过.htaccess文件实现,如果想要aaa.com重定向www.aaa.com,可以在后面接上以下代码:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.aaa.com$ [NC]
RewriteRule ^(.*)$ http://www.aaa.com/$1 [L,R=301]

如果用的是阿里云主机,就不用这么麻烦了,后台可以直接设置。

猜您可能喜欢

  • 神一般的存在 2012-06-17
  • 电商日记 2016-07-14
  • 百度竞价推广猫腻 2016-05-11
  • 2016双11 2016-11-12
  • 饥饿营销 2015-04-27
  • 发表评论

    电子邮件地址不会被公开。 必填项已用*标注