RewriteEngine On #設置是否開始rewrite RewriteBase / #設置開始匹配的目錄,好比web程序放在/var/www/html/test下,則這個值要設置爲"/test" #只用www的域名 RewriteCond %{HTTP_HOST} ^test.com$ [NC] #RewriteCond設置匹配條件,即對服務器變量中的哪一個值進行匹配 RewriteRule ^(.*)$ http://www.test.com/$1 [L,R=301] #RewriteRule設置匹配成功後要執行的動作。即匹配成功後要把url映射到哪個url # 須要301的頁面 RewriteCond %{QUERY_STRING} ^.*news_id=(.+)$ #對查詢字符串進行匹配,這裏經過正則匹配到的值在下面使用時用"%"使用,如"%1" RewriteRule ^news\.php.*$ redirect.php?type=news&id=%1 [L] #將匹配到的url路徑(tab前的)重寫爲新設置的路徑(tab後的),這裏經過正則匹配到的值在下面使用時用"$"使用,如"$1" #重寫規則可單獨使用 RewriteRule ^.*map\.php.*$ other/map.html [L] #網站地圖 RewriteRule ^.*questions\.php.*$ service/fqa/ [L] #問題解答欄目 #規範應用的入口,只能經過index.php訪問 RewriteCond %{SCRIPT_FILENAME} !index\.php$ [NC] RewriteCond %{SCRIPT_FILENAME} !test\.php$ [NC] RewriteCond %{SCRIPT_FILENAME} !code\.php$ [NC] #後臺驗證碼 RewriteCond %{SCRIPT_FILENAME} !redirect\.php$ [NC] #原網站301重定向文件 RewriteRule ^(.*\.php.*)$ http://www.test.com/ [L,R=301] # 下載文件保護 RewriteCond %{REQUEST_FILENAME} \/uploadfile\/download.*$ [NC] RewriteRule ^(.*)$ http://www.test.com [L,R=404] # 網頁模版保護 RewriteCond %{REQUEST_FILENAME} \/templates\/default/cn.*$ [NC] RewriteRule ^(.*)$ http://www.test.com [L,R=404] ======================== #LazyREST的.htaccess RewriteEngine On RewriteBase /LazyREST RewriteRule ^api/(.+)/(.+)/(.*)$ index.php?c=api&_table=$1&_interface=$2&$3 [L]