1.为使.htaccess有效,需要先做httpd.conf设置
#打开改写模式
Options FollowSymLinks
AllowOverride All
#打开重写模式,去掉这行注释
LoadModule rewrite_module modules/mod_rewrite.so
2..htaccess文件设置:
(1)错误文件定位:
常用的客户端哀求错误返回代码: (详见http://www.cnblogs.com/boystar/p/4661106.html)
格式:ErrorDocument 错误代码 /目录名/名.扩展名
#例子:
ErrorDocument 404 /errors/404.html
#如果提示很少的话,也可以直接在指令中输出错误
ErrorDocument 401 "你权限访问该页面,请抛却!"
(2)文件访问密码保护:
密码保护通过建立.htpasswd文件实现,
①先用apache/bin/htpasswd文件对.htpasswd进行密码设置
htpasswd -cd .htpasswd username #在命令行中运行
#生成的.htpasswd文件内容为:
username:密文密码
②建立.htpasswd文件后,对.htaccess文件进行设置
#例子:
AuthUserFile c:/www/data/.htpasswd #加密文件的目录
AuthGroupFile /dev/null #授权访问的目录
AuthName Name #可定义
AuthType Basic #授权类型,使用缺省即可
require valid-user #设置可以访问的用户,这里是所有用户
#require设置有3种:
#require valid-user 密码文件中任何一位用户
#require user username1[username2[username3..]] 指定用户
#require group groupname 指定用户组
③设置IP访问限制
#例子
order allow,deny #生效规则,先允许后禁止 deny from 210.10.56.32 #禁止某IP访问 deny from 219.5.45. #禁止某IP段访问 allow from all #除上述外,允许所有
(3)URL转向:
格式:Redirect /旧目录/旧文档名 新文档目录/新文档名
#例子
Redirect old/old_name new/new_name #转移文档
Redirect old/ new/ #转移文档目录
(4)设置缺省首页:
格式:DirectoryIndex 缺省首页名
#例子 DirectoryIndex index.php index.html index.htm
(5)防止盗链
#例子
RewriteEngine on #打开重写引擎 RewriteCond %{ HTTP_REFERER } !^$ #空链接 RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC] #保护链接 RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/error.jpg [R,L] #设置替代图片
(6)设置伪静态
#例子
<MODULE mod_rewrite.c> #如果打开重写模式 RewriteEngine On #打开重写引擎 RewriteBase / #设置根目录 RewriteRule ^test_(.*).html$ test.php?id=$1 [L] #设置test.php?id=1变为test_1.html </IFMODULE> #结束