2012-04-03 164 views
2

我有一个动态查询字符串,需要通过.htaccess重定向传递。例如:通过.HTACCESS传递查询字符串

我需要重定向此URL:http://mysite.com/page1?action=signup&var2=dynamicVar

要这样:http://mysite.com?action=signup&var2=dynamicVar

我知道这是很简单的,但我真的不知道是什么类型的规则/语法将工作这个。

任何帮助,非常感谢!

回答

2

如果你已经拥有的.htaccess然后简单地加入这一行:

RewriteRule ^page1/?$ page2 [L,R,QSA,NC] 

更新:根据您的意见:

RewriteCond %{QUERY_STRING} (^|&)action=signup(&|$) [NC] 
RewriteRule ^page1/?$/[L,R,QSA,NC] 
+0

这看起来正是我想要做的。但是,我在我的问题中发表了错误言论。我真的需要重定向:http://mysite.com/page1?var=dynamicVar 要这样:http://mysite.com?var=dynamicVar。任何想法怎么可能做到这一点? – Media804 2012-04-03 15:38:18

+0

好吧请检查我的**更新**。 – anubhava 2012-04-03 15:41:35

+0

感谢您的快速响应,但是,我再次不完全清楚(对不起!)。我修改了上面的原始帖子。最重要的是,如果查询字符串的第一部分匹配'action = signup',我只需要重定向。 – Media804 2012-04-03 15:59:34

-1

用途%{REQUEST_URI} 网络连接:

RewriteCond %{HTTP_HOST} ^website\.(.+)$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

重写任何与 “网站” 到 “www.website ......”,包括查询字符串(通过使用%{REQUEST_URI})

开始
0
RewriteRule ^page1(.*)$ /page2$1 [L,R=301] 
0

输入

http://mysite.com/page1?action=signup&var2=dynamicVar 

这是重写规则

RewriteRule ^page1?(.*)$ /?$1 [L,R=301] 

重定向到

http://mysite.com/?action=signup&var2=dynamicVar 

这个WIL l将所有请求重定向到page1并获取参数到http://mysite.com

相关问题