如何使用 htaccess 查询字符串重定向 URL?

如何使用 htaccess 查询字符串重定向 URL?

我想重定向如下页面:

example.com/fr/opportunites/?sector_cat=bourses-detudes&ajax_filter=true


example.com/fr/bourses-detudes/

第二页是使用 WordPress 创建的帖子类型页面

是否有可能在 litespeed 服务器中使用 htacees 来做到这一点?

多谢

答案1

为了匹配 URL 的查询字符串部分,你需要使用 mod_rewrite 和状况RewriteCond指令)专门检查查询字符串。其他指令仅检查 URL 路径(自然排除了查询字符串)。

因此,从您的示例来看,要从 重定向/fr/opportunites/?sector_cat=<value>&ajax_filter=true到 ,您需要在文件/fr/<value>/顶部使用类似以下内容.htaccess现有的 WordPress 指令。

RewriteCond %{QUERY_STRING} ^sector_cat=([^&]+)&ajax_filter=true$
RewriteRule ^fr/opportunites/$ /fr/%1/ [QSD,R=302,L]

URL 参数(sector_catajax_filter)必须按规定顺序匹配,并且不允许其他 URL 参数。sector_cat参数的值也必须非空,否则它将匹配除之外的任何字符&

%1中的反向引用RewriteRule 代换包含从查询字符串中捕获的子模式(即sector_cat参数值)。

QSD为了从重定向响应中删除原始查询字符串,(查询字符串丢弃)标志是必需的。

没有斜线前缀RewriteRule 图案当在 中使用时.htaccess。因此,^fr/匹配/fr/URL 路径的开头。

首先使用 302(临时)重定向进行测试以避免潜在的缓存问题,并且只有在确认它按预期工作后才更改为 301(永久)重定向(如果这是意图)。

相关内容