301 RewriteRule 在 OpenLiteSpeed 中完美运行,但只有 95% 的时间
Posted
技术标签:
【中文标题】301 RewriteRule 在 OpenLiteSpeed 中完美运行,但只有 95% 的时间【英文标题】:301 RewriteRule works perfect in OpenLiteSpeed, but only 95% of the time 【发布时间】:2020-12-15 11:38:58 【问题描述】:此 Wordpress 安装以前的固定链接结构为 year/mo/day/post-name
,但后来更改为仅使用帖子名称。这个 301 RewriteRule 被添加到 htaccess 的顶部,它在大多数情况下都很好用,但在几个链接上仍然失败,在 URL 中留下了 day 值。
RewriteRule ([0-9]4)\/([0-9]2)\/(.*) domain.com/$3 [R=301,L]
我不知道是什么原因导致了这种情况,大多数重定向到 domain.com/post-name 符合预期,但少数返回为 domain.com/08/post-name 例如。
被忽略的正则表达式是否存在问题?
【问题讨论】:
你的意思是“domain.com/08/post-name”没有重定向,或者“/2020/08/08/post-name”重定向到“/08/post-name”? @qtwrk 抱歉,这是第二个。 “/2020/08/08/post-name”正在重定向到“/08/post-name” 【参考方案1】:如果您的所有帖子格式相同,如/2020/01/01/post-name
然后尝试使用
RewriteRule ([0-9]4)\/([0-9]2)\/([0-9]2)\/(.*) https://example.com/$4 [R=301,L]
如果您混淆了 /2020/01/01/post-name
和 /2020/01/post-name
的 URL
然后尝试使用
RewriteRule ([0-9]4)\/([0-9]2)\/([0-9]2)\/(.*) https://example.com/$4 [R=301,L]
RewriteRule ([0-9]4)\/([0-9]2)\/(.*) https://example.com/$3 [R=301,L]
【讨论】:
以上是关于301 RewriteRule 在 OpenLiteSpeed 中完美运行,但只有 95% 的时间的主要内容,如果未能解决你的问题,请参考以下文章
RewriteRule ^(.*)$ 和 RewriteRule (.*)$ 之间的区别