将 RedirectMatch 更改为 OpenLiteSpeed 的 RewriteRule

Changing RedirectMatch to RewriteRule for OpenLiteSpeed

更改 Wordpress 永久链接结构后,我在 .htaccess 文件中使用 RewriteMatch 为所有页面创建 301 重定向。

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://mywebsite.com/

我最近切换到 OpenLiteSpeed,发现它不再有效。有人确认 OLS 忽略了 RedirectMatch 规则并建议切换到 RewriteRule,所以我使用了 htaccess tester tool 并将以下内容放在一起。

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)  [QSA,L]

我没有太多编写规则的经验,但该工具显示了正确的输出。但是,将它添加到我的 .htaccess 文件后,它仍然不起作用。我已经重新启动了 OLS,但没有任何变化。

我想弄清楚规则是否有问题(即与 litespeed 不兼容),或者这是否与 OLS 网络服务器有关?

请尝试在您的 .htaccess 顶部添加此规则

RewriteRule ([0-9]{4})\/([0-9]{2})\/(.*) https://example.com/ [R=301,L]

添加后重新启动 OLS。