抱歉,这可能是一个简单的问题,但我已经阅读了大量的教程,无法解决问题。这是URL示例:
http://localhost:8106/privacy-policy/?lang=fr&dest=app
.htaccess内容:
RewriteEngine on
RewriteRule ^privacy-policy/?lang=([a-z][a-z])&dest=app$ privacy-policy/$1 [NC,L]
当我访问该网址时,我没有被重定向。有什么想法吗?
由于
答案 0 :(得分:1)
您无法与规则中的查询字符串匹配,您需要使用%{QUERY_STRING}
变量:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^lang=([a-z][a-z])&dest=app$
RewriteRule ^privacy-policy/$ privacy-policy/%1 [NC,L]
请注意,反向引用必须为%1
。如果您需要它来重定向浏览器,您还需要在方括号中添加R
标记。
答案 1 :(得分:0)
感谢Jon Lin在query_string和%1编辑上的线索。它最终没有使用该代码的复制/粘贴,但这最终是我最终得到的并且它正在工作:
RewriteCond %{REQUEST_URI} privacy-policy
RewriteCond %{QUERY_STRING} lang=(\w+)&dest=app
RewriteRule ^privacy-policy/$ /privacy-policy/%1? [R=301,L]
再次感谢您对此的帮助。