301将子目录中的旧网址重定向到新网址

时间:2014-08-28 15:24:42

标签: wordpress .htaccess http-status-code-301 url-redirection

我更改了wordpress网站上的网址结构,需要将旧网址改为新网址。旧结构如下:

/news/[category-name]/[post-url-slug]

所以它始终是/ news然后它会有类别的url slug,然后是post name的url slug。

新结构如下:

/[post-url-slug]

所以我基本上已经删除了网址的新闻和类别名称部分。我将如何在我的htaccess中将所有旧网址添加到新网址中? mod重写已启用。

1 个答案:

答案 0 :(得分:1)

将此添加到.htaccess或apache config:

RewriteRule ^news/.+?/(.+)$ $1 [R=301,L]

您可能希望比.+更具体,具体取决于您的类别和帖子名称的规则。例如:[a-zA-Z0-9-_]+或类似的。

如果需要,可以在debuggex上播放:

Regular expression visualization

Debuggex Demo