.htaccess文件的應用非常廣泛,最常見(jiàn)的就是WWW或者非WWW的301跳轉功能,其實(shí).htaccess文件還可以實(shí)現很多實(shí)用的功能,比如:防盜鏈、阻止無(wú)用蜘蛛爬取等,只不過(guò)我們使用的并不多而已。
第一、域名重定向
(www.域名.com)
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^baidu\.com [NC]
- RewriteRule ^(.*)$ http://www.baidu.com/$1 [L,R=301,NC]
我們將域名替換成自己的域名即可實(shí)現非WWW跳轉到WWW域名。
(域名.com)
- RewriteEngine On
- RewriteCond %{HTTP_HOST} !^baidu.com$ [NC]
- RewriteRule ^(.*)$ http://baidu.com/$1 [L,R=301]
這里我們可以強制如果訪(fǎng)問(wèn)www域名前綴,會(huì )跳轉到非www域名。
第二、https跳轉地址
如果需要整站跳轉,則在網(wǎng)站的配置文件的標簽內,鍵入以下內容:
- RewriteEngine on
- RewriteCond %{SERVER_PORT} !^443$
- RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
如果對某個(gè)目錄做強制跳轉,則使用以下代碼:
- RewriteEngine on
- RewriteBase /目錄
- RewriteCond %{SERVER_PORT} !^443$
- #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
- RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
第三、強制/斜杠結尾路徑
- RewriteCond %{REQUEST_URI} /+[^\.]+$
- RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
第四、取消/斜杠結尾
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)/$ /$1 [R=301,L]
第五、禁止圖片盜鏈
- RewriteEngine on
- RewriteCond %{HTTP_REFERER} !^$
- RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?baidu.com [NC]
- RewriteRule \.(jpg|jpeg|png|gif|bmp)$ - [NC,F,L]