首页 > 解决方案 > 从重写的 URL 中删除(现在)未使用的查询参数

问题描述

似乎无法正常工作,我想将一些旧的查询驱动的 URL 重写为新格式:

之前的网址:http ://www.example.com/blog/?lang=fr

RewriteCond %{QUERY_STRING} ^[^&](\w+)=(\w+)$ [NC]
RewriteRule ^ %2%{REQUEST_URI} [QSD,R=301,L]

之后的网址:http ://www.example.com/fr/blog/?lang=fr

关闭,但没有雪茄!我尝试了一些 SO 解决方案(即在 htaccess 文件中重写 url - 删除查询字符串),但我认为我遗漏了一些东西。

标签: .htaccess

解决方案


QSD 仅适用于 Apache 2.4 版本。如果您使用的是旧版本,它适用于:

RewriteCond %{QUERY_STRING} ^[^&](?:\w+)=(\w+)$ [NC]
RewriteRule ^ %1%{REQUEST_URI}? [R=301,L]

推荐阅读