首页 > 解决方案 > 如何在 htaccess 中停止 RewriteRule 否决 Redirect 301

问题描述

由于迁移,我想在 .htaccess 中进行一些大规模重定向。我同时使用了 RewriteRule 和 Redirect 301。但是 RewriteRule 不断覆盖 Redirect 301 规则,尽管有顺序。

例如:

我想将 /retraites-nl-cat-595.html 重定向到https://www.vihara.nl/meditatieretraites/ 但所有其他包含 595 的 url 到https://www.vihara.nl/tag/vipassana /

我在.htaccess中有这个:

RewriteEngine on
RewriteRule ^$ https://www.vihara.nl [R=301]
Redirect 301 /retraites-nl-cat-595.html https://www.vihara.nl/meditatieretraites/
RewriteRule ^(.*)595(.*)$ https://www.vihara.nl/tag/vipassana/ [L,R=301]

但这不起作用,因为 RewriteRule 推翻了 Redirect 301 规则。当我切换最后两行的顺序时也会发生同样的情况。

有没有办法改变这个?所以重定向 301 将推翻重写规则,而不是相反?

标签: .htaccessredirectmod-rewritemigrationhttp-status-code-301

解决方案


推荐阅读