我想重定向: http://www.mydomain.com/myfolder/?5/my-page 至: http://www.mydomain.com/myfolder/?5/page
.htaccess中的简单重定向似乎不起作用:
Redirect 301 /myfolder/?5/my-page http://www.mydomain.com/myfolder/?5/page
我四处搜寻,发现一定是因为问号。 经过一番搜索后我尝试了这个:
RewriteCond %{QUERY_STRING} ^my-page
RewriteRule ^my-page http://www.mydomain.com/myfolder/?5/page [L,R=301]
哪个完全不起作用。我想我自己无法解决这个问题,并想问其他人是否可以带领我走上更好的道路?
提前致谢。
答案 0 :(得分:1)
查询字符串是之后的所有?所以在这个例子中这将是5/my-page
而不是my-page
,所以与你的URI匹配的重写指令将是:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^5/my-page$
RewriteRule ^myfolder/$ myfolder/?5/page? [L,R=301]
您需要替换模式中的?
,因为引擎会在没有此情况的情况下附加现有的查询字符串。
答案 1 :(得分:0)
以下是答案 - Removing trailing question mark with htaccess
从这样重定向:
http://site.com/index.php?blaaa=123&idd=999
到
http://site.com/page/