我有两个网址,我正在尝试重写,过去... 4-5小时(现在头痛)。Htaccess将GET请求重写为另一个GET请求,另一个GET GET请求使用2个GET变量
我试图改写
/arts/tag/?tag=keyword
到
/search/art?keywords=keyword
看着其他的问题,我制定了我重写这样
RewriteRule /arts/tag/?tag=([^&]+) search/art?keywords=$1 [L,R=301,NC]
和
RewriteRule ^arts/tag/?tag=$ /search/art\?keywords=%1? [L,R=301,NC]
我尝试了反斜杠,没有,没有运气。
也试过
RewriteCond %{QUERY_STRING} /arts/tag/?tag=([^&]+) [NC]
RewriteRule .* /search/art\?keywords=%1? [L,R=301,NC]
第二个是类似的,
/arts/category?id=1&sortby=views&featured=1
到
/art/moved?id=1&rearrange=view
我改变得变量名是我自己学习的原因目的,因为我没有找到任何教程为我的目的。由于类别已更改,我还将类别更改为移动,并且我必须在内部重定向某些ID#。
RewriteCond %{QUERY_STRING} id=([^&]+) [NC] // I need the path in there though, not just query string, since I'll be redirecting /blogs/category and /art/category to different places.
RewriteRule .* /art/moved/id=%1? [L,R=301,NC]
任何帮助将不胜感激。谢谢。
当追加到查询字符串时,应该使用'QSA'作为'RewriteRule'的标志(QSA代表“Query String Append”)。 – fge
谢谢,我会给它一个镜头。 – Darius
像这样? RewriteRule/arts/tag /?tag = $/search/art?keywords = $ 1 [QSA,NC],仍然没有。我试着在上面发布的所有代码中实施QSA,而不仅仅是那一个。 – Darius