htaccess 网址重定向(字符"?")



我有一个这样的网址:

 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]

最新更新