我尝试以www.mydomain/m和www.mydomain/m/为目标进行重定向。
我曾经使用子域m.mydomain.com在我的服务器上的/m/目录之外提供移动友好的页面
我不再这样做了,现在将这些请求重定向到主站点,它工作得很好。
但是,现在对/m或/m/的请求会导致无限循环的重定向。
从旧的m.mydomain.com重定向相当复杂,我需要在服务器上保留/m目录。
我已经通过注释掉指令调整了.htaccess的相关部分(在mydomain.com和m.mydomain.com中),但当然,这破坏了我试图做的主要重定向,并且它没有解决问题。
这是/m目录.htaccess所具有的,并且成功地将流量重定向到主站点:
redirect 301 / https://www.example.com/
因此,我现在尝试只针对产生无限循环的请求,即/m和/m/,并将它们重定向到主页,即www.mydomain.com
我尝试过(在mydomain根.htaccess中):
RewriteCond %{REQUEST_URI} "^\/m$" [NC] RewriteRule ^ https://www.example.com/ [R=301,L]
和
RewriteCond %{REQUEST_URI} "^\/m\/$" [NC] RewriteRule ^ https://www.example.com/ [R=301,L]
我预计这些请求将针对/m和/m/请求,并重定向到主页,但这两个请求的无限循环仍在继续。
发布于 2019-06-13 03:17:43
在/m/目录.htaccess中添加此规则
RewriteEngine On
RewriteRule (.*) https://www.example.com/ [R=301,L]将此规则添加到mydomain根.htaccess的顶部
RewriteEngine On
RewriteRule ^m\/$ https://www.example.com/ [R=301,L]
RewriteRule ^m$ https://www.example.com/ [R=301,L]发布于 2019-06-13 15:24:19
谢谢,JarekBaran。你的建议让我走得更近了,但并不完全是这样。我仍然需要将所有旧页面从/m目录重定向到它们的新位置(相同的目录名,相同的文件名)。
这就是最终奏效的方法:
在根.htaccess中:
RewriteCond %{REQUEST_URI} !^/m$ [NC]
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]在/m目录.htaccess中:
RewriteCond %{REQUEST_URI} !^m$ [NC]
RewriteRule (.*) https://www.intmath.com/$1 [R=301,L]现在,这会将旧的m.example.com/directory/page重定向到www.example.com/directory/page,并且www.example.com/m没有无限循环
https://stackoverflow.com/questions/56552730
复制相似问题