|
|
|
|
|
.htaccess是對(duì)于網(wǎng)站目錄進(jìn)行各種權(quán)限規(guī)則設(shè)置的一個(gè)文件,它多在Apache站點(diǎn)中使用。在IIS6中同樣可以使用.htaccess,只是需要安裝一個(gè)插件rewrite3.1。
.htaccess可以做的事情很多又很實(shí)用,比較常見的是定義默認(rèn)首頁名稱,404頁面,301重定向等等,還有更多的功能比如偽靜態(tài),限制圖片外鏈,限制下載,密碼保護(hù),去除頁面廣告等等,
本文中,詳細(xì)介紹.htaccess(適用IIS6)參數(shù)解釋及示例詳解。
參數(shù)解釋:
示例:
1、普通重寫
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
</IfModule>
RewriteRule ^(.*)/topic-(.+)\.html(\?(.*))*$ $1/portal\.php\?mod=topic&topic=$2&$4
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/portal\.php\?mod=view&aid=$2&page=$3&$5
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$5]
2、動(dòng)態(tài)地址跳轉(zhuǎn)到靜態(tài)地址
RewriteRule ^goods-([0-9]+)(.*)\.html$ goods\.php\?id=$1 [QSA,L]
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC]
RewriteRule ^goods.php$ /goods-%1.html? [L,R=301]
RewriteCond %{QUERY_STRING} ^id=1$ [NC]
RewriteRule ^category.php$ http://www.yaolongnonwoven.com/? [L,R=301] 加?不帶參數(shù),不加帶上參數(shù)
3、301重定向
RewriteCond %{HTTP_HOST} ^xxxx1.com$ [NC]
RewriteCond %{HTTP_HOST} ^xxxx2.com$ [NC]
RewriteRule ^(.*)$ http://www.xxxx.com/$1 [R=301,L]
4、取消目錄執(zhí)行權(quán)限
RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
5、屏蔽來源域名
RewriteCond %{HTTP_REFERER} www.baidu.com [NC]
RewriteRule ^(.*)$ - [F]
6、屏蔽ip地址
RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR}&%{http:X-Real-IP} (8.8.4.4|8.8.8.) [NC]
RewriteRule (.*) - [F]
7、過濾靜態(tài)文件
RewriteCond %{REQUEST_URI} ^.*(.css|.js|.gif|.png|.jpg|.jpeg|.xml)
RewriteRule ^(.*)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
8、屏蔽蜘蛛
RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot) [NC]
RewriteRule ^(.*)$ - [F]
總結(jié)
本文介紹了.htaccess(適用IIS6)參數(shù)解釋及示例詳解,rewriteCond
條件判斷,就像我們程序中的if
語句一樣,表示如果符合某個(gè)或某幾個(gè)條件則執(zhí)行RewriteCond
下面緊鄰的RewriteRule
語句。
相關(guān)文章