.htaccess設置301跳轉及常用技巧整理
發布時間:2023-10-07
在虛擬主機環境中,基本上都是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 ^(.*)$ [LR=301NC]
如果訪問www域名前綴,會跳轉到非www域名,域名替換成自己的
RewriteEngine On RewriteCond %{HTTP_HOST} !^pazzn.com$ [NC] RewriteRule ^(.*)$ [LR=301]
強制https跳轉地址
網站如果采用SSL證書,則一般需要強制跳轉https路徑,這里需要添加強制80端口的跳轉,服務器也要開啟443的端口。RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ [RL]
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
全部重定向到B網站
RewriteEngine on RewriteRule ^(.*)$ [R=301L]
阻止某個IP訪問
Order denyallow Allow from all Deny from 127.0.0.1
強制/斜杠結尾路徑
RewriteCond %{REQUEST_URI} /+[^.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301L]
取消/斜杠結尾
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [R=301L]
禁止被其他網頁套用
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)$ - [NCFL]
總結:以上就是apache中.htaccess文件的常用幾中設置的方法,但要注意的是,在編輯apache的.htaccess文件時,使用一些代碼編輯器進行編輯。
標簽: htaccess設置 , 301跳轉 , Apache偽靜態 , 強制www域名 , 強制https跳轉 ,