在虛擬主機環境中,基本上都是Apache環境,Apache的偽靜態的設定,都是在網站根目錄設定.htaccess檔案,在.htaccess檔案中無論是偽靜態,
還是301跳轉,甚至是防盜鏈和禁止某個IP的訪問都可以很簡單的設定,
關于.htaccess檔案的設定和實際應用是相當廣泛的,很多功能都可以利用這個小小的檔案實作,只不過我們普通用戶使用的并不多而已,比如我們常用的301跳轉就醫帶WWW的二級域名跳向不帶WWW的頂級域名,
或者一防盜鏈,或是禁止IP等,這篇文章我們就介紹幾種,.htaccess檔案的常見的用法,
強制www域名301跳轉
直接將域名替換成自己的域名即可實作非WWW跳轉到WWW域名,
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的埠,
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檔案時,使用一些代碼編輯器進行編輯,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/162441.html
標籤:Linux
