.htaccess设置301跳转及常用技巧整理

在虚拟主机环境中,基本上都是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.cnblogs.com/ydwzhang/p/11675296.html

时间: 2024-10-14 08:00:03

.htaccess设置301跳转及常用技巧整理的相关文章

怎么设置301跳转

欢迎来到 大绩绩大博客 网站设置301跳转的方法 第一 当然是解析 这个绩不用我来说来吧 第二 在网站根目录,找到".htaccess"文件.如果文件不存在,用记事本新建一个重命名为 .htaccess 第三 在".htaccess"文件中添加以下代码: RewriteEngine On RewriteCond %{HTTP_HOST} ^xykte.cn$ [NC]RewriteRule ^(.*)$ http://www.xykte.cn/$1 [L,R=301

如何编程方式设置301跳转?

我们知道IIS的301设置非常的简单,不懂得可以去百度下. 编程方式使用下面的代码 答案: /// <summary> /// 设置301跳转 /// </summary> /// <param name="Url">要跳转的URL</param> public static void SetURL301(string Url) { System.Web.HttpContext.Current.Response.Clear(); Syst

sqlmap常用技巧整理

言 通过在乌云网上出现的很多SQL注入漏洞,因此来总结一下,大致使用SQLMAP所遇到的参数. 基本结构 基本SQLMAP的使用方式就如下所示,使用参数式的方式,按需求添加. 12 sqlmap.py -u "http:// *" --data="a=b" -p a --level 3 --random-agent --referer="a" --technique T --dbms=mysql --cookie="cookie&quo

nginx设置301跳转

在server段域名下设置: if ( $host = 'xxxx.com' ) {              rewrite ^/(.*)$ http://www.xxxx.com/$1 permanent;  } permanent – 返回永久重定向的HTTP状态301 这里要注意的是,nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格. 如果没有空格的话会报[emerg] unknown directive "if($host!="这样的错误. 检查配置是

前端常用技巧整理

1. 禁止右键点击 $(document).ready(function(){    $(document).bind("contextmenu",function(e){        return false;    });}); 2. 隐藏搜索文本框文字Hide when clicked in the search field, the value.(example can be found below in the comment fields)$(document).read

find查找文件命令 - Linux系统中的常用技巧整理

"find"在Linux系统中是比较常用的文件查找命令,使用方法有很多,可以拥有查找文件.文件目录.文件更新时间.文件大小.文件权限及对比文件时间.下面是整理的"find"常用方法,方便以后需要的时候直接到此文章查看. 一.查找文件或者目录 find ./ -name file #file请改成自己要差的文件 二.查找文件更新时间 find ./ -mtime -3 #文件更新在3天内的 find ./ -mtime +3 #文件更新在3天以上的 三.查找文件大小

Apache环境利用.htaccess文件设置域名301跳转(不带www跳转到带www)

相信很多站长朋友都遇见过这样的问题,即带www的域名与不带www的域名同时都被收录,但域名权重情况差距很大.这问题主要是由于搜索引擎把这两个域名当做两个不同网站看待,导致一个域名被判定是镜像网站造成的.毫无疑问,不管是带www还是不带www,唯一域名能够给你的网站带来更多的好处.这样无论是用户还是搜索引擎,都会记住你网站的唯一域名,也不会造成搜索引擎的误判而导致惩罚.下面本文就来介绍一下Apache环境下利用.htaccess文件设置301跳转,强制用户或搜索引擎重定向到唯一域名. #301重定

.htaccess 做域名301跳转 详细教程

网站更换域名不应该经常发生,如果因为一些特殊原因,比如找到了更好更易记更符合网站内容域名,更换域名就必须了,更换域 名后如何让搜索引擎知道这是一个更换域名老网站,那么就需要设置301重定向.301重定向的设置在于告诉 老用户和搜索引擎,网站域名变化了,最重要的是告诉搜索引擎把老域名的权重给于新域名. .htaccess 设置 301的方法,老域名到新域名 设置方法: RewriteEngine On RewriteCond %{HTTP_HOST} ^17daima.com [NC,OR] Re

phpcms9添加301跳转

在做301跳转时遇到了"错误 310 (net::ERR_TOO_MANY_REDIRECTS):重定向过多."的问题,小编在这里把处理方法简单给大家写出来希望可以帮助到大家,另外小编也把phpcms v9 设置301跳转的两种方面分别给大家介绍一下. phpcms v9 301跳转设置方法一: 仅支持Apache服务器设置 在根目录下找到.htaccess文件,并将以下代码写入进去,保存上传即设置成功,如下图 代码如下,直接复制后,更改域名即可 RewriteEngine on Re