Apache主機通常支持.htaccess僞靜態,便可以實現綁定域名到子目錄、一個空間多個站點。.net
應用舉例:綁定htaccess.800m.net到htaccess目錄blog
根目錄下.htaccess內容域名
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 綁定htaccess.800m.net到子目錄htaccess RewriteCond %{HTTP_HOST} ^htaccess\.800m\.net$ [NC] RewriteCond %{REQUEST_URI} !^/htaccess/ RewriteRule ^(.*)$ htaccess/$1?Rewrite [L,QSA] #能夠綁定多個,只需重複上三行代碼並更改一下域名、目錄名就好了 </IfModule>
即便HTTP_HOST中的「.」不加反斜槓,也可以實現綁定htaccess.800m.net,由於「.」能夠匹配任意一個字符。it
htaccess目錄下的.htaccess內容class
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #只許綁定的域名訪問,其餘域名301跳轉 RewriteCond %{HTTP_HOST} !^htaccess\.800m\.net$ [NC] RewriteRule (.*) http://htaccess.800m.net/$1 [L,R=301] #對綁定目錄下htaccess目錄的處理 RewriteCond %{REQUEST_URI} ^\/htaccess\/ [NC] RewriteCond %{QUERY_STRING} !^(.*)?Rewrite #htaccess.800m.net/htaccess實際上訪問htaccess.800m.net/htaccess/htaccess RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA] </IfModule>
固然,若是對綁定子目錄的要求不高的話,子目錄下就不須要創建.htaccess文件了。rewrite