關於.htaccess的設置

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]


相關文章
相關標籤/搜索