<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://kb.idcspy.com/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
		<id>https://kb.idcspy.com/index.php?action=history&amp;feed=atom&amp;title=.htaccess</id>
		<title>.htaccess - 修订历史</title>
		<link rel="self" type="application/atom+xml" href="https://kb.idcspy.com/index.php?action=history&amp;feed=atom&amp;title=.htaccess"/>
		<link rel="alternate" type="text/html" href="https://kb.idcspy.com/index.php?title=.htaccess&amp;action=history"/>
		<updated>2026-05-13T23:40:20Z</updated>
		<subtitle>本站上此页的修订历史</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>https://kb.idcspy.com/index.php?title=.htaccess&amp;diff=182&amp;oldid=prev</id>
		<title>大漠孤狼: 新页面: .htaccess使用说明  .htaccess可以做大量范围的事情，包括：文件夹密码保护、用户自动重新指向、自定义错误页面、变更你的文件扩展名、屏蔽...</title>
		<link rel="alternate" type="text/html" href="https://kb.idcspy.com/index.php?title=.htaccess&amp;diff=182&amp;oldid=prev"/>
				<updated>2008-01-14T16:25:04Z</updated>
		
		<summary type="html">&lt;p&gt;新页面: .htaccess使用说明  .htaccess可以做大量范围的事情，包括：文件夹密码保护、用户自动重新指向、自定义错误页面、变更你的文件扩展名、屏蔽...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新建页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;.htaccess使用说明&lt;br /&gt;
&lt;br /&gt;
.htaccess可以做大量范围的事情，包括：文件夹密码保护、用户自动重新指向、自定义错误页面、变更你的文件扩展名、屏蔽特定的用户IP地址、只允许特定的IP地址、停止目录表以及使用其他文件作为index文件，等等……&lt;br /&gt;
&lt;br /&gt;
==Introduction 介绍==&lt;br /&gt;
文件名 .htaccess 属性 644 (RW-R–R–)&lt;br /&gt;
htaccess会影响它所在目录下的所有子目录&lt;br /&gt;
注意大多数内容都要求保持在一行之内，不要换行，否则会引起错误&lt;br /&gt;
&lt;br /&gt;
==Error Documents 错误文档==&lt;br /&gt;
Official document: ErrorDocument Directive&lt;br /&gt;
ErrorDocument code document&lt;br /&gt;
例子&lt;br /&gt;
ErrorDocument 400 /errors/badrequest.html&lt;br /&gt;
ErrorDocument 404 http://yoursite/errors/notfound.html&lt;br /&gt;
ErrorDocument 401 “Authorization Required”&lt;br /&gt;
(注意之后内容如果出现的双引号需要转义为 \”)&lt;br /&gt;
常见HTTP状态码&lt;br /&gt;
Successful Client Requests&lt;br /&gt;
200 OK&lt;br /&gt;
201 Created&lt;br /&gt;
202 Accepted&lt;br /&gt;
203 Non-Authorative Information&lt;br /&gt;
204 No Content&lt;br /&gt;
205 Reset Content&lt;br /&gt;
206 Partial Content&lt;br /&gt;
Client Request Redirected&lt;br /&gt;
300 Multiple Choices&lt;br /&gt;
301 Moved Permanently&lt;br /&gt;
302 Moved Temporarily&lt;br /&gt;
303 See Other&lt;br /&gt;
304 Not Modified&lt;br /&gt;
305 Use Proxy&lt;br /&gt;
Client Request Errors&lt;br /&gt;
400 Bad Request&lt;br /&gt;
401 Authorization Required&lt;br /&gt;
402 Payment Required (not used yet)&lt;br /&gt;
403 Forbidden&lt;br /&gt;
404 Not Found&lt;br /&gt;
405 Method Not Allowed&lt;br /&gt;
406 Not Acceptable (encoding)&lt;br /&gt;
407 Proxy Authentication Required&lt;br /&gt;
408 Request Timed Out&lt;br /&gt;
409 Conflicting Request&lt;br /&gt;
410 Gone&lt;br /&gt;
411 Content Length Required&lt;br /&gt;
412 Precondition Failed&lt;br /&gt;
413 Request Entity Too Long&lt;br /&gt;
414 Request URI Too Long&lt;br /&gt;
415 Unsupported Media Type&lt;br /&gt;
Server Errors&lt;br /&gt;
500 Internal Server Error&lt;br /&gt;
501 Not Implemented&lt;br /&gt;
502 Bad Gateway&lt;br /&gt;
503 Service Unavailable&lt;br /&gt;
504 Gateway Timeout&lt;br /&gt;
505 HTTP Version Not Supported&lt;br /&gt;
&lt;br /&gt;
==Password Protection 密码保护==&lt;br /&gt;
Official document: Authentication, Authorization and Access Control&lt;br /&gt;
假设密码文件为.htpasswd&lt;br /&gt;
AuthUserFile /usr/local/safedir/.htpasswd (这里必须使用全路径名)&lt;br /&gt;
AuthName EnterPassword&lt;br /&gt;
AuthType Basic&lt;br /&gt;
两种常见验证方式:&lt;br /&gt;
Require user windix&lt;br /&gt;
(仅允许用户windix登陆)&lt;br /&gt;
Require valid-user&lt;br /&gt;
(所有合法用户都可登陆)&lt;br /&gt;
Tip: 如何生成密码文件&lt;br /&gt;
使用htpasswd命令(apache自带)&lt;br /&gt;
第一次生成需要创建密码文件&lt;br /&gt;
htpasswd -c .htpasswd user1&lt;br /&gt;
之后增加新用户&lt;br /&gt;
htpasswd .htpasswd user2&lt;br /&gt;
&lt;br /&gt;
== Enabling SSI Via htaccess 通过htaccess允许SSI(Server Side Including)功能==&lt;br /&gt;
AddType text/html .shtml&lt;br /&gt;
AddHandler server-parsed .shtml&lt;br /&gt;
Options Indexes FollowSymLinks Includes&lt;br /&gt;
DirectoryIndex index.shtml index.html&lt;br /&gt;
&lt;br /&gt;
==Blocking users by IP 根据IP阻止用户访问==&lt;br /&gt;
order allow,deny&lt;br /&gt;
deny from 123.45.6.7&lt;br /&gt;
deny from 12.34.5. (整个C类地址)&lt;br /&gt;
allow from all&lt;br /&gt;
&lt;br /&gt;
==Blocking users/sites by referrer 根据referrer阻止用户/站点访问==&lt;br /&gt;
需要mod_rewrite模块&lt;br /&gt;
例1. 阻止单一referrer: badsite.com&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
# Options +FollowSymlinks&lt;br /&gt;
RewriteCond %{HTTP_REFERER} badsite\.com [NC]&lt;br /&gt;
RewriteRule .* - [F]&lt;br /&gt;
例2. 阻止多个referrer: badsite1.com, badsite2.com&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
# Options +FollowSymlinks&lt;br /&gt;
RewriteCond %{HTTP_REFERER} badsite1\.com [NC,OR]&lt;br /&gt;
RewriteCond %{HTTP_REFERER} badsite2\.com&lt;br /&gt;
RewriteRule .* - [F]&lt;br /&gt;
[NC] - 大小写不敏感(Case-insensite)&lt;br /&gt;
[F] - 403 Forbidden&lt;br /&gt;
注意以上代码注释掉了”Options +FollowSymlinks”这个语句。如果服务器未在 httpd.conf 的 段落设置 FollowSymLinks, 则需要加上这句，否则会得到”500 Internal Server error”错误。&lt;br /&gt;
&lt;br /&gt;
==Blocking bad bots and site rippers (aka offline browsers) 阻止坏爬虫和离线浏览器==&lt;br /&gt;
需要mod_rewrite模块&lt;br /&gt;
坏爬虫? 比如一些抓垃圾email地址的爬虫和不遵守robots.txt的爬虫(如baidu?)&lt;br /&gt;
可以根据 HTTP_USER_AGENT 来判断它们&lt;br /&gt;
(但是还有更无耻的如”中搜 zhongsou.com”之流把自己的agent设置为 “Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)” 太流氓了，就无能为力了)&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]&lt;br /&gt;
RewriteCond %{HTTP_USER_AGENT} ^Zeus&lt;br /&gt;
RewriteRule ^.* - [F,L]&lt;br /&gt;
[F] - 403 Forbidden&lt;br /&gt;
[L] - 连接(Link)&lt;br /&gt;
&lt;br /&gt;
==Change your default directory page 改变缺省目录页面==&lt;br /&gt;
DirectoryIndex index.html index.php index.cgi index.pl&lt;br /&gt;
&lt;br /&gt;
== Redirects 转向==&lt;br /&gt;
单个文件&lt;br /&gt;
Redirect /old_dir/old_file.html http://yoursite.com/new_dir/new_file.html&lt;br /&gt;
整个目录&lt;br /&gt;
Redirect /old_dir http://yoursite.com/new_dir&lt;br /&gt;
效果: 如同将目录移动位置一样&lt;br /&gt;
http://yoursite.com/old_dir -&amp;gt; http://yoursite.com/new_dir&lt;br /&gt;
http://yoursite.com/old_dir/dir1/test.html -&amp;gt; http://yoursite.com/new_dir/dir1/test.html&lt;br /&gt;
Tip: 使用用户目录时Redirect不能转向的解决方法&lt;br /&gt;
当你使用Apache默认的用户目录，如 http://mysite.com/~windix，当你想转向 http://mysite.com/~windix/jump时，你会发现下面这个Redirect不工作:&lt;br /&gt;
Redirect /jump http://www.google.com&lt;br /&gt;
正确的方法是改成&lt;br /&gt;
Redirect /~windix/jump http://www.google.com&lt;br /&gt;
(source: .htaccess Redirect in “Sites” not redirecting: why?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
== Prevent viewing of .htaccess file 防止.htaccess文件被查看==&lt;br /&gt;
order allow,deny&lt;br /&gt;
deny from all&lt;br /&gt;
&lt;br /&gt;
== Adding MIME Types 添加 MIME 类型==&lt;br /&gt;
AddType application/x-shockwave-flash swf&lt;br /&gt;
Tips: 设置类型为 application/octet-stream 将提示下载&lt;br /&gt;
&lt;br /&gt;
== Preventing hot linking of images and other file types 防盗链==&lt;br /&gt;
需要mod_rewrite模块&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
RewriteCond %{HTTP_REFERER} !^$&lt;br /&gt;
RewriteCond %{HTTP_REFERER} !^http://(www/\.)?mydomain.com/.*$ [NC]&lt;br /&gt;
RewriteRule \.(gif|jpg|js|css)$ - [F]&lt;br /&gt;
解析:&lt;br /&gt;
若 HTTP_REFERER 非空 (来源为其他站点，非直接连接) 并且&lt;br /&gt;
若 HTTP_REFERER 非(www.)mydomain.com开头(忽略大小写[NC]) (来源非本站)&lt;br /&gt;
对于所有含有 .gif/.jpg/.js/.css 结尾的文件给出 403 Forbidden 错误[F]&lt;br /&gt;
也可指定响应，如下例显示替换图片&lt;br /&gt;
RewriteRule \.(gif|jpg)$ [R,L]&lt;br /&gt;
[R] - 转向(Redirect)&lt;br /&gt;
[L] - 连接(Link)&lt;br /&gt;
&lt;br /&gt;
==Preventing Directory Listing 防止目录列表时显示==&lt;br /&gt;
IndexIgnore *&lt;br /&gt;
IndexIgnore *.jpg *.gif&lt;br /&gt;
Tips:&lt;br /&gt;
允许目录列表显示: Options +Indexes&lt;br /&gt;
禁止目录列表显示: Options -Indexes&lt;br /&gt;
显示提示信息: 页首 文件HEADER, 页尾 文件README&lt;/div&gt;</summary>
		<author><name>大漠孤狼</name></author>	</entry>

	</feed>