.htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能。.htaccess 配置文件坚持了Unix的一个文化——使用一个ASCII 的纯文本文件来配置你的网站的访问策略。
这篇文章包括了16个非常有用的小技巧。另外,因为.htaccess 是一个相当强大的配置文件,所以,一个轻微的语法错误会造成你整个网站的故障,所以,在你修改或是替换原有的文件时,一定要备份旧的文件,以便出现问题的时候可以方便的恢复。
1. 使用.htaccess 创建自定义的出错页面。对于Linux Apache来说这是一项极其简单的事情。使用下面的.htaccess语法你可以轻松的完成这一功能。(把.htaccess放在你的网站根目录下)
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
2. 设置网站的时区
SetEnv TZ America/Houston
3. 阻止IP列表
有些时候,你需要以IP地址的方式阻止一些访问。无论是对于一个IP地址还是一个网段,这都是一件非常简单的事情,如下所示:
allow from all
deny from 145.186.14.122
deny from 124.15
Apache对于被拒绝的IP会返回403错误。
4. 把一些老的链接转到新的链接上——搜索引擎优化SEO
Redirect 301 /zhanz/20090614/56568.html http://www.kuqin.com/zhanz/20090614/56568.html
5. 为服务器管理员设置电子邮件。
ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com
6. 使用.htaccess 访止盗链。如果你网站上的一个图片被别的N多的网站引用了,那么,这很有可能会导致你服务器的性能下降,使用下面的代码可以保护某些热门的链接不被过多的引用。
Options +FollowSymlinks
# Protect Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?kuqin.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://kuqin.com/img/hotlink_f_o.png [nc]
7. 阻止 User Agent 的所有请求
## .htaccess Code :: BEGIN
## Block Bad Bots by user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot
## .htaccess Code :: END
8. 把某些特殊的IP地址的请求重定向到别的站点
ErrorDocument 403 http://www.kuqin.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123
9. 直接找开文件而不是下载 – 通常,我们打开网上文件的时候总是会出现一个对话框问我们是下载还是直接打开,使用下面的设置就不会出现这个问题了,直接打开。
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
10. 修改文件类型 – 下面的示例可以让任何的文件都成为PHP那么被服务器解释。比如:myphp, cgi,phtml等。
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
11. 阻止存取.htaccess 文件
# secure htaccess file
order allow,deny
deny from all
12. 保护服务器上的文件被存取
# prevent access of a certain file order allow,deny
deny from all
13. 阻止目录浏览
# disable directory browsing
Options All -Indexes
14. 设置默认主页
# serve alternate default index page
DirectoryIndex about.html
15. 口令认证 – 你可以创建一个文件用于认证。下面是一个示例:
# to protect a file
AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user
# password-protect a directory
resides
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
16. 把老的域名转像新的域名
# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.kuqin.com/$1 [R=301,L]
相关推荐
这两种服务器在处理URL重写和伪静态规则方面有所不同,Apache通常使用的是.htaccess文件,而IIS则使用其内置的URL重写模块。本篇文章将详细讲解如何让IIS支持Apache的.htaccess伪静态规则。 首先,了解什么是伪静态...
通过修改 Apache 的配置文件 httpd.conf,可以开启.htaccess 文件的使用。下面将详细介绍如何开启.htaccess 文件的使用方法。 一、开启.htaccess 文件的使用方法 1. 打开 Apache 的配置文件 httpd.conf,通常位于 ...
Apache的Mode Rewrite模块和.htaccess文件配合 Apache的Mode Rewrite模块和.htaccess文件配合是Apache服务器中两个非常重要的组件,特别是在网站开发和部署中。下面我们将详细介绍这两个组件的概念、配置方法和应用...
`.htaccess` 文件是Apache web服务器中的一个配置文件,它允许用户在网站根目录下进行局部配置,以实现一些高级功能,如URL重写、防盗链控制等。这个文件的全称是“分布式配置文件”,即分散在各个目录下的配置文件...
## (把这个改成你.htaccess文件的具体位置) } ``` Step 4: 重启 Nginx 重启 Nginx 服务,以便生效新的配置文件。 使用 Nginx 支持 .htaccess 伪静态 Rewrite 的方法可以实现 URL 重写,提高网站的访问速度和用户...
`.htaccess` 文件是 Apache 服务器配置中一个非常重要的文件,它允许我们在网站根目录下进行站点级别的配置,而无需直接修改服务器的主配置文件。`.htaccess` 文件的使用可以极大地方便网站管理和优化,比如实现URL...
.htaccess文件,全称是"HyperText Access",是Apache服务器中的一个配置文件,允许用户在没有服务器根目录权限的情况下,对特定目录进行自定义设置。本文将深入探讨如何利用.htaccess文件进行恶意上传以及相关的安全...
绕过黑名单验证是一种常见的攻击技术,攻击者可以使用各种方法来绕过黑名单验证,例如上传 .htaccess 文件、使用 phpinfo 探针、使用其他类型的文件等。因此,在 Web 应用程序安全中,需要格外小心地配置黑名单验证...
Apache Web服务器的`.htaccess`文件是一个非常重要的配置文件,它允许用户在不修改服务器主配置的情况下,对网站进行各种自定义设置。这篇文章主要介绍了如何使用`.htaccess`文件实现一系列功能,包括阻止特定IP或...
.htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令。 .htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误...
只要和.htaccess文件同目录下就会被当成脚本解析; 用于利用某些Web服务器(尤其是Apache)的配置漏洞,以实现更高级的文件上传攻击或执行其他恶意操作。 文件类型解析:通过.htaccess修改服务器配置,可以让服务器...
`.htaccess` 是 Apache 服务器中的一种配置文件,允许我们在特定的目录级别上自定义网页配置,包括 URL 重写规则。这使得我们可以对 URL 进行美化,使其看起来更加直观和用户友好。 在 ThinkPHP 框架中,由于采用...
### htaccess文件使用指南:掌握网站优化的关键 #### 引言 在当今互联网时代,网站的性能、安全性和用户体验成为了衡量其成功与否的重要标准。Apache服务器的`.htaccess`文件,作为一款分布式配置文件,拥有着强大...
1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, 如本人的一个Discuz论坛目录: 代码如下:vim /var/www/html/168pc/bbs/.htaccess 2. 在里面输入规则,我这里输入Discuz的伪静态规则: 代码如下: # ...
Apache服务器中的`.htaccess`文件是一个非常重要的工具,它允许网站管理员无需直接修改服务器的主配置文件即可控制和定制特定目录的行为。`.htaccess`文件主要用于实现一系列HTTP服务器的指令,如URL重写、访问控制...
今天本地调试PHP程序,用到了.htaccess,而默认配置里面开启.htaccess,在网上找到了开启.htaccess的可行方法,供朋友们借鉴。...其实只要简朴修改一下apache的httpd.conf设置就让APACHE.htaccess了,来看看
包含了中国所有的IP段, 包括各地网通, 电信, 移动, 铁通, 教育网, 以及广电运营商, 公司自...使用方法很简单, Apache环境下利用.htaccess的命令deny, 你可以使用整理好的.htaccess文件, 然后放到你的网站根目录下即可.
Apache 的 `.htaccess` 文件是Web服务器配置中的一个重要工具,它允许用户在不修改服务器主配置文件的情况下,对特定目录及其子目录进行定制化的配置。`.htaccess` 文件的使用通常受到服务器管理员通过 `...