阿里的普通版虛擬雲主機最多只能建一個站點,但可以綁定多個域名。如果我們想創建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
