htaccess url redirect(字符"?")

时间:2015-06-13 23:20:43

标签: apache .htaccess url redirect

我有这样的网址:

 http://mydomain.es/foro.php?topic=9

我想将其重定向到:

 http://mydomain.es/foro/9/

但是我无法让它发挥作用,我尝试过类似的事情:

 redirectMatch  302 ^/foro.php\?topic=([0-9]+)$ /foro/$1/

但它不起作用,问题就是角色?,如果我在网址中删除它(并使用redirectMarch像

 redirectMatch  302 ^/foro.phptopic=([0-9]+)$ /foro/$1/) 

它运作正常,你能帮帮我吗?我疯了。

2 个答案:

答案 0 :(得分:0)

answered here - rewritematch不支持查询字符串。改为使用mod_rewrite。

答案 1 :(得分:0)

这应该有效:

 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]