在虛擬主機環境中,基本上都是Apache環境。Apache的僞靜態的設置,都是在網站根目錄設置.htaccess文件,在.htaccess文件中不管是僞靜態,html
仍是301跳轉,甚至是防盜鏈和禁止某個IP的訪問均可以很簡單的設置。apache
關於.htaccess文件的設置和實際應用是至關普遍的,不少功能均可以利用這個小小的文件實現,只不過咱們普通用戶使用的並很少而已,好比咱們經常使用的301跳轉就醫帶WWW的二級域名跳向不帶WWW的頂級域名,服務器
或者一防盜鏈,或是禁止IP等。這篇文章咱們就介紹幾種,.htaccess文件的常見的用法。編輯器
直接將域名替換成本身的域名便可實現非WWW跳轉到WWW域名。ide
RewriteEngine on RewriteCond %{HTTP_HOST} ^pazzn\.com [NC] RewriteRule ^(.*)$ https://www.pazzn.com/$1 [L,R=301,NC]
若是訪問www域名前綴,會跳轉到非www域名,域名替換成本身的網站
RewriteEngine On RewriteCond %{HTTP_HOST} !^pazzn.com$ [NC] RewriteRule ^(.*)$ http://pazzn.com/$1 [L,R=301]
網站若是採用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]
Redirect 301 /a.html https://www.pazzn.com/b.html
RewriteEngine on RewriteRule ^(.*)$ http://www.pazzn.com/$1 [R=301,L]
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