我需要像这样转换网址: /fr-ca/home.html?titi=toto到/fr/home.html?titi=toto&country=ca 当然还是/fr-ca/home.htm /fr/home.html?country=ca
但它总是重定向到主页,删除页面。
我哪里错了?
RedirectMatch 301 "^/([a-z]{2})-([a-z]{2})/(.*?)" "/$1/$3?country=$2"
RedirectMatch 301 "^/([a-z]{2})-([a-z]{2})/(.*)" "/$1/$3&country=$2"
答案 0 :(得分:1)
RedirectMatch
指令在这里没有帮助,因为您希望在先前的查询字符串中添加新的查询参数。此功能仅在QSA
模块中使用mod_rewrite
标志时可用。
您可以使用:
RewriteEngine On
RewriteRule ^([a-z]{2})-([a-z]{2})/(.*)$ /$1/$3?country=$2 [L,QSA,NC,R=301]
QSA
(查询字符串追加)标志在添加新查询参数时保留现有查询参数。
确保在测试前清除浏览器缓存。