将 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]
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]