在虛擬主機環境中,基本上都是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文件時,使用一些代碼編輯器進行編輯。