.htaccess設置301跳轉及經常使用技巧整理

 

          在虛擬主機環境中,基本上都是Apache環境。Apache的僞靜態的設置,都是在網站根目錄設置.htaccess文件,在.htaccess文件中不管是僞靜態,html

仍是301跳轉,甚至是防盜鏈和禁止某個IP的訪問均可以很簡單的設置。apache

        關於.htaccess文件的設置和實際應用是至關普遍的,不少功能均可以利用這個小小的文件實現,只不過咱們普通用戶使用的並很少而已,好比咱們經常使用的301跳轉就醫帶WWW的二級域名跳向不帶WWW的頂級域名,服務器

或者一防盜鏈,或是禁止IP等。這篇文章咱們就介紹幾種,.htaccess文件的常見的用法。編輯器

強制www域名301跳轉

直接將域名替換成本身的域名便可實現非WWW跳轉到WWW域名。ide

RewriteEngine on
RewriteCond %{HTTP_HOST} ^pazzn\.com [NC]
RewriteRule ^(.*)$ https://www.pazzn.com/$1 [L,R=301,NC]

強制非WWW域名301跳轉

若是訪問www域名前綴,會跳轉到非www域名,域名替換成本身的網站

RewriteEngine On
RewriteCond %{HTTP_HOST} !^pazzn.com$ [NC]
RewriteRule ^(.*)$ http://pazzn.com/$1 [L,R=301]

強制https跳轉地址

網站若是採用SSL證書,則通常須要強制跳轉https路徑,這裏須要添增強制80端口的跳轉,服務器也要開啓443的端口。url

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.pazzn.com/$1 [R,L]

阻止無用的蜘蛛爬取

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (^$|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) [NC]
RewriteRule ^(.*)$ - [F]

將A頁面301跳轉到B頁面

Redirect 301 /a.html https://www.pazzn.com/b.html

所有重定向到B網站

RewriteEngine on
RewriteRule ^(.*)$ http://www.pazzn.com/$1 [R=301,L]

阻止某個IP訪問

Order deny,allow
Allow from all
Deny from 127.0.0.1

強制/斜槓結尾路徑

RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

取消/斜槓結尾

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]

禁止被其餘網頁套用

SetEnvIf Request_URI "/starry-night" allow_framing=true
Header set X-Frame-Options SAMEORIGIN env=!allow_framing

禁止圖片盜鏈

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?feiniaomy.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|bmp)$ - [NC,F,L]
 

總結:以上就是apache中.htaccess文件的經常使用幾中設置的方法,但要注意的是,在編輯apache的.htaccess文件時,使用一些代碼編輯器進行編輯。spa

相關文章
相關標籤/搜索