.htaccess - 从重写的 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 - 删除查询字符串),但我认为我遗漏了一些东西。
解决方案
QSD 仅适用于 Apache 2.4 版本。如果您使用的是旧版本,它适用于:
RewriteCond %{QUERY_STRING} ^[^&](?:\w+)=(\w+)$ [NC]
RewriteRule ^ %1%{REQUEST_URI}? [R=301,L]
推荐阅读
- svelte - 是否可以将纤细组件的(最终结果)HTML 代码呈现为字符串(转义/显示原始 HTML 代码)?
- reactjs - 反应:“TypeError:未定义不是函数”
- php - PHP ImageMagick 脚本在通过命令行执行时不起作用
- r - 错误停止 R 代码尽管 tryCatch。我怎样才能让它继续运行?
- python - android termux上的python套接字连接错误
- github - 是否可以使用原始问题分叉 github 存储库?
- python - 尝试使用 try / except 函数更改多个变量
- javascript - 仅使用 JS / jQuery 将状态从 PrimeFaces onstart 转移到 oncomplete
- scilab - 我试图将 matlab 移动到遗传算法的 scilab 语法,但选择函数有错误。像这样
- javascript - Socket.io 事件在触发一次时无限循环