如何从查询字符串中获取值并使用.htaccess文件将其传递到新页面

时间:2011-07-07 09:05:40

标签: php .htaccess

目前我在.htaccess文件中使用以下代码:

RewriteRule ^([^/\.]+).php?$ comman.php?cat=$1 [L]

这会将用户重定向到comman.php页面,例如用户请求

http://www.mysite.com/myfolder/page1.php

将重定向到

http://www.mysite.com/myfolder/comman.php?cat=page1

这很好用。我的问题是如何实现以下

http://www.mysite.com/myfolder/page1.php?var1=123

重定向

http://www.mysite.com/myfolder/comman.php?cat=page1&param=123

即。使用get方法添加到我的新网址中传递给url的任何值。

先谢谢.....

3 个答案:

答案 0 :(得分:1)

您应该添加QSA标志:

RewriteRule ^([^/\.]+).php?$ comman.php?cat=$1 [L,QSA]

QSA代表Query String Append。原始网址中?之后的任何内容都将附加到重写的网址。

答案 1 :(得分:1)

您需要将QSA纳入您的规则,即

RewriteRule ^(.*)$ /index.php?pageid=$1 [QSA,L]

答案 2 :(得分:1)

您可以使用QSA中的RewriteRule标记。

请参阅docs