我想重定向如下页面:
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_cat
和ajax_filter
)必须按规定顺序匹配,并且不允许其他 URL 参数。sector_cat
参数的值也必须非空,否则它将匹配除之外的任何字符&
。
%1
中的反向引用RewriteRule
代换包含从查询字符串中捕获的子模式(即sector_cat
参数值)。
QSD
为了从重定向响应中删除原始查询字符串,(查询字符串丢弃)标志是必需的。
没有斜线前缀RewriteRule
图案当在 中使用时.htaccess
。因此,^fr/
匹配/fr/
URL 路径的开头。
首先使用 302(临时)重定向进行测试以避免潜在的缓存问题,并且只有在确认它按预期工作后才更改为 301(永久)重定向(如果这是意图)。