如何使用apache将子文件夹重写为另一个?

时间:2015-04-07 15:42:45

标签: apache mod-rewrite rewrite

我需要将www.example.com/blog-ie重写为www.example.com/blog,问题是因为它的博客有些网址看起来像www.example.com/blog-ie/2015/05/some-article所以我不确定如何保留网址的其余部分完好无损。

1 个答案:

答案 0 :(得分:2)

将其放在.htaccessVirtualHost

RewriteEngine On
RewriteRule blog-ie(.*) /blog$1 [R,L]

首先,RewriteEngine被激活。重写规则基本上告诉httpd执行以下操作

  

当以"博客 - 即"开头的网址时被调用,接受该URL后的所有内容((.*))并将其附加到{" / blog"。将重定向发送到客户端($1),如果匹配,则将此规则作为评估的最后一个规则(R)。

在规则的第一部分(匹配部分)中使用括号,您可以告诉RewriteEngine记住括号内的所有内容。这称为匹配组。在规则的第二部分,重写部分,第一个匹配组可以用L引用。如果您有更多匹配组,则可以使用$1引用它们,依此类推。这种定义匹配组并在以后使用它们的方法称为反向引用。