htaccess重定向将转到首页而不是新位置

时间:2019-04-25 11:13:16

标签: .htaccess redirect mod-rewrite

我的重定向链。我对为什么有些困惑 每个页面都将转到新域之前的主页。

因此,在我在此处输入的单个示例中, www.myolddomain.com/2014/10 / 依次转到 www.myolddomain.com www。 mynewdomain.com

<IfModule mod_rewrite.c>
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$ [NC]
RewriteRule ^/.+ / [R=301,L]
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
</IfModule>

RewriteCond %{HTTP_HOST} ^www\.myolddomain\.com [NC]

#Redirect site
 RewriteRule ^/? https://www.mynewdomain.com? [R=301,L]

#redirects
RewriteRule ^/?2014/10/ https://www.mynewdomain.com/mypage/? [R=301,L]

我的htaccess知识有限,所以我很难发现问题。 任何帮助深表感谢。谢谢

1 个答案:

答案 0 :(得分:1)

您的重定向规则应该在其他重写规则之前位于顶部

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_HOST} ^www\.myolddomain\.com [NC]
RewriteRule ^/? https://www.mynewdomain.com? [R=301,L]

#redirects
RewriteRule ^/?2014/10/ https://www.mynewdomain.com/mypage/? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$ [NC]
RewriteRule ^/.+ / [R=301,L]
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
</IfModule>