覆盖特定页面的301重定向

时间:2019-02-26 06:43:38

标签: .htaccess redirect url-rewriting url-redirection

我正在将旧域移到新域,但是某些旧页面不可用。因此,需要将新域上仍然可用的页面重定向到新的现有页面,而将所有其他页面都重定向到整个域。我有以下重定向规则:

已更新

//Specific
RedirectMatch 301 ^/(title_1/?)$ https://www.website.com/$1
RedirectMatch 301 ^/(title_2/?)$ https://www.website.com/$1
RedirectMatch 301 ^/(title_3/?)$ https://www.website.com/$1
...

//Overall
RedirectMatch 301 ^/(.*)$ https://www.website.com/blog

但是,总体第一条规则将覆盖为现有子页面制定的所有其他以下规则。大约有200个子页面被添加到htaccess中。我还要提到的是,整个网站都在domain.com/blog上运行,但是所有重定向的子页面都只是domain.com/title_name_1。

我需要指定的200页不能被第一条规则覆盖。因此不会重定向到/ blog。

我有点迷失了。任何帮助表示赞赏:)

谢谢

1 个答案:

答案 0 :(得分:1)

更改规则的顺序,最好对所有重定向使用相同的指令RedirectMatch

//Example of Redirect for specific pages (about 200+) 
RedirectMatch 301 ^/(title_1|title_2|title_3)/?$ https://www.website.com/$1 

RedirectMatch 301 ^/(category/title_name_2/?)$ https://www.website.com/$1 

//Overall redirect for not specified pages in htaccess
RedirectMatch 301 ^ https://website.com/blog/

请确保清除浏览器缓存或使用新的浏览器来测试此更改。