.htaccess 是Apache HTTP Server的文件目录系统级别的配置文件的默认的名字。它提供了在主配置文件中定义用户自定义指令的支持。 这些配置指令需要在 .htaccess 上下文 和用户需要的适当许可。
 
 
 
 概述
 下面的这些声明经常用于配置服务器,来发送出自定义的文档在响应客户端时的错误,就像 "404: Not Found没有找到" 或者服务器错误如 "503: Service Unavailable 服务无法提供" (参看HTTP状态代码表List of HTTP status codes):
 
 ErrorDocument 404 /error-pages/not-found.html
 ErrorDocument 503 /error-pages/service-unavailable.html
 
 当设置了自定义的报错页面,重要的是记住这些页面能处理多种多样的URL,当在这些出错的文档链接(包括图片,样式脚本和其他文档)必须指定使用"绝对"URL(比如开头为"http://")或者相对文档根目录的URL(开头用"/")。
 同样,对于访问网站其他未被授权访问部分的用户,"403: Forbidden禁止"错误的报错页面必须放在该用户能访问到的目录下。
 
 常规的做法是
 
 
   用新建另外的包含这些代码行:
     Order allow,deny
     Allow from all
 
 .htaccess文件在/error-pages 目录下,来建立可被任何人访问的目录来包含这些报错页面。
 
 密码保护
 给用户显示目录以前需要输入账户名及密码。
 
 AuthUserFile /home/newuser/www/stash/.htpasswd
 AuthGroupFile /dev/null
 AuthName "Protected Directory"
 AuthType Basic
 <Limit GET POST>
 require user newuser
 </Limit>
 
 这个方法同样适用在一个目录下某个特殊的文件。
 
 <Files protected_file.php>
 AuthUserFile /home/newuser/www/stash/.htpasswd
 AuthName "Protected File"
 AuthType Basic
 Require valid-user
 </Files>
 
 下面是创建新用户newuser的新密码的代码命令。
 
 htpasswd /home/newuser/www/stash/.htpasswd newuser
 
 
 解除密码保护
 在另外的保护的框架中,解除一个子目录的密码保护:
 
 Satisfy any
 
 
 
 服务器内置SSI
 
 AddType text/html .shtml
 AddHandler server-parsed .shtml
 Options Indexes FollowSymLinks Includes
 
 
 用户IP禁止
 
 Order allow,deny
 Deny from 123.45.67.8
 Deny from 123.123.7
 Allow from all
 
 上面能禁止IP地址在123.45.67.8以及IP地址开头为123.123.7的任何人。例如123.123.74.42 就不能得到访问。
 
 变更默认目录页
 
 DirectoryIndex homepage.html
 
 这个任何人可以访问 http://www.example.com/ 能看到该站的主页homepage.html的页面, 胜过默认的index.html。
 
 页面跳转
 
 Redirect page1.html page2.html
 
 如果某人访问 http://www.example.com/page1.html,他将被跳转到 (带有 HTTP 状态代码 302) 的 http://www.example.com/page2.html
 
 防止图片热链
 后面的 .htaccess规则使用了mod rewrite.
 
 特别域名
 
 RewriteEngine on
 RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?baddomain1\.com [NC,OR]
 RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?baddomain2\.com [NC,OR]
 RewriteCond %{HTTP_REFERER} ^http://([^/]+\.)?baddomain3\.com [NC]
 RewriteRule \.(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]
 
 
 非特别域名
 
 RewriteEngine on
 RewriteCond %{HTTP_REFERER} !^$
 RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/.*$ [NC]
 RewriteRule \.(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]
 
 除非 example.com有这个图片,浏览器才能看到hotlink.gif.
 注意: Hotlink热链保护使用 .htaccess 依赖客户端在http GET请求中发送正确的"提交"值。像尝试使用Windows Media Player发送空白的提交到.htaccess 来保护电影档案是无效的。
 
 统一WEB地址
 
 RewriteEngine On
 RewriteCond %{HTTP_HOST} !^www\.
 RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
 
 如果有人输入你的网站地址没有''''www''''前缀,上面代码能让这些地址能跳转到有''''www''''前缀的页面
 
 目录规则
 一个 .htaccess 文件控制所在目录, 包括所有子目录。 不管怎样, 放置其他的.htaccess文件在子目录都是无效的.
 
 用户许可
 .htaccess用户许可,是服务器级别AllowOverride控制,标明是Apache服务器文档的证明文件.
 
 其他应用
 已有一些WEB开发者修改.htaccess来完成在服务内容传到浏览器之前,自定义的服务器端的任务。 开发者Shaun Inman 展示了这种没有CSS的修改.htaccess可能,请访问 allow for Server Side Constants .
 
免责声明:本站文字信息和图片素材来源于互联网,仅用于学习参考,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)
 
 来源:互联网转载
来源:互联网转载