使用RewriteBase可以重写基准路径,位于.htaccess文件靠顶部的位置。
代码实例:
[Shell] 纯文本查看 复制代码1 2 3 4 5 |
# 将 RewriteEngine 模式打开
RewriteEngine On
RewriteBase /
RewriteCond %{http_host} ^softwhy.com$ [NC]
RewriteRule ^(.*)$ www.softwhy.com/$1 [R=301]
|
使用RewriteBase可以定义基准路径,上面将当前目录设置为基准目录。
[Shell] 纯文本查看 复制代码1 2 3 |
RewriteEngine On
RewriteBase /
RewriteRule ^forum\.htm$ forum.php [R=301]
|
上面代码是将.html页面重定向到对应的.php页面。
假设虚拟空间在主机的位置是/host/antzone/,如果去掉RewriteBase /,那么将会重定向到:
[HTML] 纯文本查看 复制代码1 |
http://www.softwhy.com/host/antzone/forum.php
|
这是因为RewriteBase的默认值是当前.htaccess所在的物理路径。
但绝大多数网站服务器URL不与物理文件路径直接对应,而是将虚拟主机所在目录为web站点的根目录。
再来看一段代码实例:
[Shell] 纯文本查看 复制代码1 2 3 |
RewriteEngine On
RewriteBase / antozne/
RewriteRule ^(.*)\.htm$ forum.php [R=301]
|
那么将会重定向到http://www.softwhy.com/antzone/forum.php。