string - 如何使用查询字符串将htacess中的URL重定向到相同的URL但不同的查询字符串
问题描述
由于从多语言网站中删除了多种语言,我需要 301 重定向以 、 和 结尾的页面,?lang=da
并?lang=de
重定向?lang=nl
到相同的 URL 但以?lang=en
. 这听起来像是一个常见的场景,但我还没有找到正确的代码来完成这个或尝试了一些代码,因为该代码的目的是重定向到一个新的 URL 或替换 URL 但不是查询字符串,而我需要替换查询字符串并保留 URL。
解决方案
这可能是您正在寻找的:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^lang=(da|de|nl)$
RewriteRule ^ %{REQUEST_URI}?lang=en [QSD,R=301,END]
为此,显然需要将重写模块加载到您的 http 服务器中,并且也必须为您的 http 主机激活它。
最好从 302 重定向开始,并且只有在确信一切都已按要求设置后才将其更改为 301。这样你就可以防止丑陋的缓存效果......
您可以在 http 服务器的主机配置中实现此类规则。或者,如果您无权访问该文件,则可以使用分布式配置文件(“.htaccess”),但这有性能劣势,您还需要先启用对此类文件的解释。请参阅您正在使用的工具的文档以了解如何执行此操作。
推荐阅读
- conv-neural-network - keras Conv2D 模型在去模糊图像时给出错误的结果
- scala - 将数据框转换为在 scala 中映射的有效方法
- javascript - 什么是 InstantSearchSDKJSBridgeClearHighlight?
- python - 无法使用 python 将元组导出到 csv/文本文件
- python - 为什么变量赋值比从 python 中的数组调用更快?
- python - 拆分数据框中的列表,在列和行中具有不同长度的列表
- javascript - 是否可以使用破折号引导程序单击 dbc.progress 栏以重定向到另一个页面
- python - 使用 Pyautogui 在 Tkinter 中循环
- javascript - Express Docker 容器在本地工作但未部署
- javascript - 使用 JavaScript 调用堆栈和 .map 文件,我可以找出我在 TypeScript 应用程序中的位置吗?