如何更改查询字符串键的名称?

时间:2016-06-30 18:02:10

标签: apache redirect mod-rewrite url-rewriting

我想知道在apache中执行以下url重写的最佳方法吗?

/**
 * @var \Test\TestCollection\Domain\Repository\TestCollectionRepository
 * @inject
 */
protected $collectionRepository;

重定向到:

http://foo.com/login?old_key=some_value

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在apache上以两种方式操作查询字符串

使用 %{QUERY_STRING}  变量

RewriteEngine on


RewriteCond %{QUERY_STRING} ^old_key=(.+)$
RewriteRule ^/?login http://bar.com/login?new_key=%1 [NC,L,R]

使用 %{THE_REQUEST}  变量

RewriteEngine on


RewriteCond %{THE_REQUEST} /login/?\?old_key=([^\s]+)
RewriteRule ^/?login http://bar.com/login?new_key=%1 [NC,L,R]

上述两个示例都重定向了请求的uri /login?old_key=foobar  到新主持人 http://bar.com/login?new_key=foobar