我在我的网站上使用以下代码进行重定向 -
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://mywebsite.com/$4
它工作正常,但它不会将自定义URL参数传递给新URL。因此,.com/?abc
之后的任何内容只会转换为.com/
并导致跟踪错误。
我尝试使用[QSA]
但是我认为它导致.htaccess
中的重定向重写冲突。什么是可能的出路?
.htaccess
上的其他代码包括:
BEGIN W3TC Browser Cache
<IfModule mod_mime.c>
BEGIN WordPress
<IfModule mod_rewrite.c>
答案 0 :(得分:0)
尝试将RedirectMatch
替换为:
RewriteEngine On
RewriteRule ^[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*) http://mywebsite.com/$1 [L,R=301,QSA]
示例:301s http://mywebsite.com/1234/12/12/test?foo=bar
到http://mywebsite.com/test?foo=bar
在这里演示:http://htaccess.mwl.be?share=ce6d907e-3559-5caf-8841-8f218d54f367
答案 1 :(得分:0)
所以我的问题终于解决了。看起来手动设置规则,w3total缓存和/或yoast插件之间存在冲突。禁用/删除它们解决了这个问题。