虚拟云主机创建多个站点方法(.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
博客地址:http://www.cnblogs.com/colinliu/
博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!
博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!