研究了一个下午,.htaccess的正则和它的相关语法是很深奥的!起因是一个朋友问我,想当用户连接站点上一个不存在的页面能URL重定位到自己给出 的页面,也就是自定义404错误页!这也用到了apache的mod_rewrite模块和.htaccess文件的正则写法。自己摸索出两种写法
第一种:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /err404.html [L]
解析一下RewriteCound是指定义重写发生的条件,%{ NAME_OF_VARIABLE
第二种:
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
第一种:
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