伪静态与重定向--RewriteBase

使用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] 纯文本查看 复制代码

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

posted @ 2019-04-09 11:39  我是谁,我在做什么  阅读(278)  评论(0编辑  收藏  举报