使用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 | |
这是因为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。