301重定向以删除子目录和文件扩展名

时间:2014-07-29 17:00:39

标签: regex apache .htaccess mod-rewrite redirect

我最近迁移了一个包含/blog/子目录中所有博客帖子的网站,因此网址形成如下:

www.example.com/blog/post-name.shtml

根目录中还有这样的页面:

www.example.com/page-name.htm

现在它已迁移到WordPress,其URL结构为:

分别为

www.example.com/post-namewww.example.com/page-name。我们希望保留新的URL结构。

我如何:

  1. 删除blog子目录
  2. 从网址
  3. 中删除.html,.shtml和.htm

1 个答案:

答案 0 :(得分:2)

/.htaccess中将此规则设为非常第一规则

RewriteEngine On    
RewriteRule ^(?:blog/)?([^.]+)\.s?html?$ /$1 [L,NC,R=301,NE]