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

问题描述 投票:1回答:1

我有两个域: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,但没有运气,我真的可以在这里使用一些帮助。

.htaccess redirect url-redirection http-status-code-301
1个回答
1
投票

您可以编写从特定案例处理到一般案例处理的规则,如下所示:

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]
© www.soinside.com 2019 - 2024. All rights reserved.