Apache主機一般支持.htaccess偽靜態,即可以實現綁定功能變數名稱到子目錄、一個空間多個站點。 ...
Apache主機一般支持.htaccess偽靜態,即可以實現綁定功能變數名稱到子目錄、一個空間多個站點。
應用舉例:綁定htaccess.800m.net到htaccess目錄
根目錄下.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,因為“.”可以匹配任意一個字元。
htaccess目錄下的.htaccess內容
<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文件了。