虚拟云主机创建多个站点方法(.htaccess实现)

Posted ColinLiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟云主机创建多个站点方法(.htaccess实现)相关的知识,希望对你有一定的参考价值。

阿里的普通版虚拟云主机最多只能建一个站点,但可以绑定多个域名。如果我们想创建2个或3个主机怎么办呢?难道需要再另外购买一台主机?

其实我们可以通过.htaccess文件来定义相关域名绑定对应的网站目录,这样来实现一台主机上挂多个站点。

 

另外,阿里虚拟主机也是可以自定义.htaccess文件的,我们只需要通过FTP连接,勾选 "强制显示隐藏文件" 即可在网站根目录中看到了。

 

使用FTP工具,右击编辑该文件:

默认内容模版(存档):

RewriteEngine on

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

  

域名跳转方法:

RewriteEngine on
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.abc.com [NC] 
RewriteRule ^(.*)$ http://abc.com/blog/$1 [L,R=301]
</IfModule>

  

二级域名绑定/映射到子目录方法:

示例:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.111cn.net$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^down.111cn.net$ #服务器名
RewriteCond %{REQUEST_URI} !^/down/  #需要绑定的2级目录
RewriteCond %{REQUEST_FILENAME} !-f  #排除请求的参数不是文件
RewriteCond %{REQUEST_FILENAME} !-d  #排除请求的参数不是目录 
RewriteRule ^(.*)$ /down/$1  #转发规则
 #这个目的是用来直接跳转的
RewriteCond %{HTTP_HOST} ^down.111cn.net$
RewriteRule ^(/)?index.php$ down/index.php [L]

  

我使用的模版:

RewriteEngine on

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# 绑定a.abc.com 到 new子目录
RewriteCond %{HTTP_HOST} ^a.abc.com$ [NC]
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule ^(.*)$ new/$1 [L,QSA]
</IfModule>

# END WordPress

  

 

以上是关于虚拟云主机创建多个站点方法(.htaccess实现)的主要内容,如果未能解决你的问题,请参考以下文章

阿里云的云虚拟主机wordpress设置404页面

虚拟主机如何绑定网站根目录到子目录中

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动静分离站点

阿里云Linux系统Nginx配置多个域名的方法

Apache服务器在80端口配置多域名虚拟主机的方法

apache的虚拟主机配置