重定向 301 整个域以及一些特定的 URL

Redirect 301 whole domain together with some specific URL's

我有两个域: newdomain.com 和 olddomain.com

我需要将所有链接从 olddomain.com 重定向到 newdomain.com 的主页,因此它应该如下所示:

olddomain.com/irrelevantDir1/irrelevantPage1.html -> newdomain.com

olddomain.com/irrelevantDir11/irrelevantPage11.html -> newdomain.com 

但是有些链接我想保存:

olddomain.com/relevantDir1/relevantPage1.html -> newdomain.com/newRelevantDir1/newRelevantPage1.html

olddomain.com/relevantDir11/relevantPage11.html -> newdomain.com/newRelevantDir11/newRelevantPage11.html

我已经花了两天时间尝试制作 RewriteRule 但没有运气,我真的可以在这里使用一些帮助。

您可以像这样编写从特定案例到一般案例处理的规则:

RewriteEngine On

# specific URL redirect 1
RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteRule ^relevantDir1/relevantPage1\.html$ http://newdomain.com/newRelevantDir1/newRelevantPage1.html [NC,L,R=301]

# specific URL redirect 2
RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteRule ^relevantDir11/relevantPage11\.html$ http://newdomain.com/newRelevantDir11/newRelevantPage11.html [NC,L,R=301]

# generic case
RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteRule ^ http://newdomain.com/ [L,R=301]