Apache系统中的.htaccess文件(分布式配置文件)提供了针对目录改变配置的方法,也就是在一个特定的文件目录中放置一个包含指令的文件,以作用于此目录以及所有子目录.直白的说,.htaccess文件只是一个简单的文档,可以在里面添加些简单的命令实现各种不同的配置.

  作用:

    1.设置404页面

      1) Apache服务器404页面的设置方法

        在.htaccess文件中加入代码:

      

ErrorDocument  /Error.html

        建立简单的HTML404页面Error.html, 把该Error.html放置在网站根目录即可.

      2) IIS/ASP.net下设置404错误页面

        首先,修改应用程序根目录的配置,打开"web.config"文件,在其中添加内容:

<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="error.asp">
<error statusCode="" redirect="nofound.asp">
</customErrors>
</system.web>
</configuration>

        其中"error.asp"为系统默认的404页面,"nofound.asp"为自定义的404页面,使用时请修改相应文件名.

        然后,在自定义404页面"nofound.asp"中加入:

<%
Response.Status = "404 Not Found"
%>

    2. 实现URL重定向

      我们可以对网站进行重新规划,将文档进行迁移,或者更改目录,这个时候,来自搜索引擎或者其他网站链接过来的访问就可能错误.这种情况下,可以通过如下指令来完成旧的URL自动转向新的地址:

Redirect /旧目录/旧文件名  新文档的地址

或者整个目录的转向:

Redirect /olddirectory http://www.newsite.com/newdirectory

      这样,任何指向站点中olddirectory目录的请求将被重新指向新的站点,包括添加的额外URL信息,例如:

http://www.youroldsite.com/olddirectory/oldfiles/images/image.gif

请求被重定向到:

http://www.newsite.com/olddirectory/oldfiles/images/image.gif

  

    3. 密码保护

      有时候你可能针对某个目录设定对应的密码保护,首先要生成一个.htpasswd文件,然后输入用于访问网站的用户名和密码,格式:

username password

//其中password的应该是加密之后的密码,另外需要注意: .htpasswd文件的位置最好放置在www目录之外,较为安全

      最后,在.htaccess中添加指令:

AuthUserFile /full/path/to/.htpasswd(.htpasswd的服务器目录)
AuthGroupFile /dev/null (需要授权访问的目录)
AuthName EnterPassword
AuthType Basic (授权类型)
Require valid-user

  这样就完成了使用.htaccess文件实现网站目录密码保护

  注:  在使用.htaccess来设置目录的密码保护的时候,它包含了密码文件的路径. 从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容.最简单的方式在.htaccess文件中加入指令:

order    allow,deny
deny from all

    4. 拒绝某个ip的访问请求

order    allow,deny
deny from 220.134.342.33
deny from 220.134.
allow from all

    其中第二行代码为拒绝某个ip,第三行拒绝某个ip段, 如果想阻止所有人访问

deny    from     all

  

    5.文件防盗链

      

      很多站长都会遇到比较郁闷的问题,就是有些人会经常盗链自己网站的图片、软件等资源,这样造成了不必要的流量浪费。想要防止盗链简单的做法是在.htaccess文件加入如下指令:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ - [F]
    如果你想避免此方法给那些盗链你的网站带来不友好的空白,你可以做一张图片来代替,这张图片也可以适当的宣传你自己的网站。指令如下:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代图片文件名 [R,L]

  

网站之.htaccess文件的更多相关文章

  1. htaccess文件还可以被用来把访问网站的流量劫持到黑客的网站

    看是否有文件上传操作(POST方法), IPREMOVED--[01/Mar/2013:06:16:48-0600]"POST/uploads/monthly_10_2012/view.ph ...

  2. linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)

    需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...

  3. Apache:如何利用.htaccess文件对PHP网站或文件进行伪静态处理

    来源:http://www.ido321.com/1123.html 今天get了一招:利用.htaccess文件对PHP网站或文件进行伪静态处理. 一.检查服务器是否支持伪静态处理: 必 须要空间支 ...

  4. linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换

    此办法只适合于linux下的php网站放到Windows服务器IIS下 ,  网站除了主页面正常以外  子页面全部出现404错误    这里子页面出现404 错误是说明伪静态没有开启 什么是.htac ...

  5. 建站记录:设置apache .htaccess文件给网站添加404错误处理页面

    有些空间服务商会在后台设置中,提供这个选项,可以直观地设置404错误指向的页面,这一点很方便,比如我之前用的阿里云虚拟主机就可以在控制台直接设置. 新租用的香港主机后台没有找到选取文件的地方,只是可以 ...

  6. 用.htaccess文件实现URL重写

    注:第一部分来自 http://www.cnblogs.com/wangkongming/archive/2012/11/13/2768251.html     这位博主的个人网站简洁   还有诗歌  ...

  7. 在linux 服务器上用.htaccess文件实现二级域名访问子目录

    实现子域名绑定网站子目录的方法有很多,比如可以用js跳转,可以用php实现,可以301跳转等,但最常用的应该是RewriteEngine方式了.   新建一个笔记本命名为.htaccess(在wind ...

  8. iis6上使用.htaccess文件,ISAPI_Rewrite的安装及使用

    在Apache上很有用的.htaccess文件在IIS上就没有,要想实现类似的跳转功能可以使用ISAPI_Rewrite来代替,这是一个专门为IIS设置的工具,目的就是代替.htaccess实现很多功 ...

  9. apache配置rewrite及.htaccess文件(转载)

    今天看到一个哥们的帖子发了个rewrite的帖子,以前也写过一个,配置挺简单的,但当时没注意这个问题,当时没有用到.htaccess文件,在机子上测试了一下,发现确实没法用,于是开始找问题的所在. 自 ...

随机推荐

  1. C#基础知识之Partial class

    C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...

  2. Loj 6068. 「2017 山东一轮集训 Day4」棋盘

    Loj 6068. 「2017 山东一轮集训 Day4」棋盘 题目描述 给定一个 $ n \times n $ 的棋盘,棋盘上每个位置要么为空要么为障碍.定义棋盘上两个位置 $ (x, y),(u, ...

  3. SQL UPDATE 语句

    Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 Person: LastName FirstName ...

  4. [matlab] 5.字符运算与微积分

    首先介绍一下matlab里的符号计算 符号变量可以看成是数学中含参数 的表达式中的参数 matlab能进行像(a+b)(a-b)=a^2-b^2这样的计算 要进行符号计算首先要定义符号变量 定义符号对 ...

  5. [CQOI2018]异或序列

    嘟嘟嘟 前缀和+莫队. 先用前缀和预处理异或,于是问题变成了在\([L - 1, R]\)中求两个数异或等于\(k\)的数对个数. 然后就离线排序,按套路维护两个指针加加减减,并维护一个桶,每一次加\ ...

  6. Topshelf:一款非常好用的 Windows 服务开发框架 转发https://www.cnblogs.com/happyframework/p/3601995.html

    背景 多数系统都会涉及到“后台服务”的开发,一般是为了调度一些自动执行的任务或从队列中消费一些消息,开发 windows service 有一点不爽的是:调试麻烦,当然你还需要知道 windows s ...

  7. C# — 创建Windows服务

    以前从来没有接触过C#,对Windows服务也完全不了解,今天通过使用VS2017创建了一个Windows服务,并进行了安装和卸载,目前也是一知半解的地步,简单的做个笔记记录一下,也算是复习了吧. 第 ...

  8. Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案

    在计算机领域中,想要程序完成各种功能,那么数据的交流和计算是非常重要的.现在已知的程序动作机制有协程,线程和进程. 在同一个程序中,或者说同一个进程中,数据的交流,传递,计算是非常的简单,只要把相关数 ...

  9. python程序爬虫总是崩溃

    写的一个爬虫程序,主要用到以下库.但是伴随着代码增多,功能增多.经常性的程序崩溃现象,逐渐显现. pyqt5_5.8.2,requests.get,selenium+chorme,threading. ...

  10. Objective-C Programming The Big Nerd Ranch Guide 笔记 19-37

    Properties are either atomic or nonatomic, The difference has to do with multithreading. atomic is t ...