2005-09-02

使用rewrite在多个目录之中自动搜索文件

作者:honestqiao
使用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,可以很简单的达到这个要求:
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]

没有评论:

发表评论