我有一个这样的网址:
http://mydomain.es/foro.php?topic=9
我想将其重定向到:
http://mydomain.es/foro/9/
但是我无法让它工作,我已经尝试过类似的东西:
redirectMatch 302 ^/foro.php?topic=([0-9]+)$ /foro/$1/
但它不起作用,问题是字符?,如果我在 url 中删除它(并使用重定向三月,例如
redirectMatch 302 ^/foro.phptopic=([0-9]+)$ /foro/$1/)
它工作正常,你能帮我吗?我快疯了。
在这里回答 - 重写匹配不支持查询字符串。请改用mod_rewrite。
这应该有效:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s/?foro.php?topic=([^&s]+) [NC]
RewriteRule ^ /foro/%1? [NE,NC,R,L]
RewriteRule ^([^/]+)/([^/]+)/?$ /foro.php?topic=$2 [QSA,NC,L]