[原创] 为什么要使用 RewriteBase ?-(5)
时间:2008-03-12 来源:ailms
情况五 :(不使用别名,物理路径等于逻辑路径,但加上 RewriteBase )
配置 :
RewriteLog /var/log/httpd/rewrite_log
RewriteLogLevel 9
<Directory /var/www/html/mydir>
RewriteEngine On
RewriteBase /mydir # 注释 :注意这里的值是 /mydir
RewriteRule ^default\.html$ index.html
</Directory>
请求 :
Http://172.17.64.34/mydir/default.html
![](/bbs/images/d7e9b8f02c53986ecee0262911b2bbef.png)
Rewrite log 分析 :
步骤分析 :
-)1、/var/www/html/mydir/default.html
-)2、去掉前缀变成 default.html
-)3、改写为 index.html
-)4、加上物理路径前缀 → /var/www/html/mydir/index.html
-)5、由于定义了 RewriteBase ,所以替换为 /mydir/index.html
-)6、重定向
-)7、GET /mydir/index.html ,指向 /var/www/html/mydir/index.html
-)8、由于还是访问 <Direcory /var/www/html/mydir> ,所以再次进行 Rewrite 检查
-)9、去掉物理前缀 → index.html ,不匹配 ^default\.$html$ ,所以不改写,直接返回 /var/www/html/mydir/index.html