[rewrite] 如何在多个目录之中自动搜索需要的文件

发表于:2007-06-08来源:作者:点击数: 标签:
使用Apache的Mod_Rewrite模块,可以做到在多目录之中,搜索需要的文件。 例如: 网站网址为:http://www.test.com/ 有一网站的根目录/为:/home/www/public_html/ 其下有一个目录001为:/home/www/public_html/001/ 现在有一个文件:test.html 要求放在根目

使用Apache的Mod_Rewrite模块,可以做到在多目录之中,搜索需要的文件。

例如:
网站网址为:http://www.test.com/
有一网站的根目录/为:/home/www/public_html/
其下有一个目录001为:/home/www/public_html/001/

现在有一个文件:test.html
要求放在根目录/下面,或者/001/下面,
都可以被http://www.test.com/test.html访问
类似的还有一些其他的文件。

使用rewrite,可以很简单的达到这个要求:


[code:1:025bc0fa42]RewriteEngine on

#检查根目录/下面是否存在请求的文件
RewriteCond         /home/www/public_html/%{REQUEST_FILENAME}  -f
#如果存在,则直接使用该文件
RewriteRule  ^(.+)  /home/www/public_html/$1  [L]

#如果根目录/下面不存在请求的文件,则检查目录/001/下面是否存在请求的文件
RewriteCond         /home/www/public_html/001/%{REQUEST_FILENAME}  -f
#如果存在,则直接使用该文件
RewriteRule  ^(.+)  /home/www/public_html/001/$1  [L]

RewriteRule   ^(.+)  -  [PT][/code:1:025bc0fa42]

原文转自:http://www.ltesting.net