将 URL 参数分隔符替换为 .htaccess

Replace URL parameter separator with .htaccess

WP 插件正在生成 URLs,参数分隔符是 ?,而不是 &

类似于:https://yourdomain.com/?quiz=lesson-1-quiz-1?id=1260

是否可以先保留 ? 原样,然后使用 .htaccess 将所有其他内容替换为 &

URL应该是:https://yourdomain.com/?quiz=lesson-1-quiz-1&id=1260

您可以将此规则用作最重要的规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} (\?[^?]*)\?(\S*)\sHTTP [NC]
RewriteRule ^ %{REQUEST_URI}%1&%2 [L,R=302,NE]

# all other rules go below this line

测试完此规则后,不要忘记将 302 更改为 301

根据您展示的示例,请您尝试以下操作。请确保在测试您的 URL 之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{QUERY_STRING} ^([^?]*)\?(.*)$
RewriteRule ^ %{REQUEST_URI}?%1&%2 [R=301,NE,L]