.htaccess 301重定向不重定向到右URL(不带尾随斜杠)
我必须手动将我的网站1中的几个URL重定向到网站2 下面是我在网站1的.htaccess 301重定向不重定向到右URL(不带尾随斜杠),.htaccess,redirect,http-status-code-301,.htaccess,Redirect,Http Status Code 301,我必须手动将我的网站1中的几个URL重定向到网站2 下面是我在网站1的.htaccess文件中的代码 Redirect 301 /post1/ https://www.website2.com/post1 当我输入https://www.website1.com/post1/在浏览器中将其重定向到https://www.website2.com/post1如预期成功 但是,当我输入https://www.website1.com/post1在浏览器中将其重定向到https://www.webs
.htaccess
文件中的代码
Redirect 301 /post1/ https://www.website2.com/post1
当我输入https://www.website1.com/post1/
在浏览器中将其重定向到https://www.website2.com/post1
如预期成功
但是,当我输入https://www.website1.com/post1
在浏览器中将其重定向到https://www.website2.compost1
,斜杠在https://www.website2.com
如何解决此问题?从重定向中删除尾部的
/
Redirect 301 /post1 https://www.website2.com/post1
然后,此重定向适用于URL的两个版本。请参阅测试链接。按此特定顺序使用2个重定向URL解决了此问题
Redirect 301 /post1 https://www.website2.com/post1
Redirect 301 /post1/ https://www.website2.com/post1
您可以使用
RedirectMatch
在单个规则中执行此操作,该规则使用正则表达式将尾部斜杠设置为可选,如下所示:
RedirectMatch 301 ^/(post1)/?$ https://www.website2.com/$1
增加的好处是通过在源代码中使用捕获组并在目标中使用反向引用
$1
,避免在源代码和目标中重复post1
。这对@Anirudh有帮助吗?你不需要两个人来完成这项工作。去掉尾随斜杠的那个应该足够了。您只是添加了一个额外的重定向,以便服务器在加载之前运行。@Joe我试过了,但没有成功。这就是我必须同时添加这两个选项的原因。