.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

相关文章
相关标签/搜索