Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

.htaccess重定义404

Posted on 2008-12-27 21:03  analyzer  阅读(2001)  评论(0编辑  收藏  举报
研究了一个下午,.htaccess的正则和它的相关语法是很深奥的!起因是一个朋友问我,想当用户连接站点上一个不存在的页面能URL重定位到自己给出 的页面,也就是自定义404错误页!这也用到了apache的mod_rewrite模块和.htaccess文件的正则写法。自己摸索出两种写法
第一种:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /err404.html [L]

解析一下RewriteCound是指定义重写发生的条件,%{ NAME_OF_VARIABLE }服务变量中的REQUEST_FILENAME是匹配完整文件路径或者目录 -f是指文件 -d指目录 !取反,那样上面可以理解为URL不存在的文件名或者目录时,条件为真,就执行重定义规则也就是跳到err404.html

第二种:
ErrorDocument 404 http://www.51toria/err404.html

解析ErrorDocument 还可以定义其他错误如500 401 403等,后面的参数是重定义的URL

好了,剩下的更多资料请详看apache2.2手册
http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/mod/mod_rewrite.html
我要啦免费统计