301将所有文章从旧文件夹重定向到新文件夹

时间:2017-05-23 11:28:11

标签: .htaccess redirect mod-rewrite

我需要您关于重定向规则的帮助。

我有一个旧的网址结构:

www.example.com/en/news/news/single/article/SPECIFIC-ARTICLE/

(SPECIFIC-ARTICLE是一大堆文章的占位符 - 带有斜线!)。

重新启动后,文件夹的名称和结构将更改为:

www.example.com/en/news/SPECIFIC-ARTICLE

因此,旧结构中的所有文章(带尾随)都应重定向到新结构中的相应文章。并且不应该有一个尾随斜杠。

.htaccess中的mod_rewrite规则应该如何? 如果在旧文章网址的末尾没有结尾斜杠但.html,那么此规则将如何变更?

1 个答案:

答案 0 :(得分:0)

.htaccess中使用mod_rewrite就像(在文件顶部附近):

RewriteEngine On
RewriteRule ^(en/news)/news/single/article/([\w-]+)/$ /$1/$2 [R=302,L]

$1是对en/news 模式RewriteRule匹配的反向引用(这只是为了避免重复)。 $2 SPECIFIC-ARTICLE 的反向引用(假设它只包含字母A-Za-z0-9,{{ 1}}和_)。

如果有-而不是尾部斜杠,请将.html 模式更改为:

RewriteRule

请注意,点是反斜杠转义以匹配文字点而不是任何字符

请注意,这是一个临时(302)重定向,只有当您确定它正常工作时,才将其更改为301(永久)重定向。