首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动重写GET vars

自动重写GET vars
EN

Stack Overflow用户
提问于 2013-07-21 19:24:25
回答 2查看 83关注 0票数 0

这可能是以前有人问过的。然而,经过相当一段时间的搜索,我还是搞不明白这一点。

我正在为我的php站点创建一个小的路由引擎。我希望能使它尽可能地充满活力和灵活性。现在,我有所有的URL转到我的路由器文件,在内部,它将解析正确页面的URL。

我希望能够自动将所有GET参数转换为某种预定义格式。我想知道这是否可能:

出发地:example.com/page.php?param=val m=val.

至:

代码语言:javascript
复制
example.com/page/param/val/param/val...

关键是我不想硬编码匹配。理想情况下,我不需要知道有多少辆车,或者他们是什么,而是自动转换成预定义的格式,如上面所示。然后将URI传递到我的路由器,然后路由器将根据需要解析它。此外,该页的路径可能是几个子目录,例如

代码语言:javascript
复制
example.com/account/register.php?action=something

example.com/account/register/action/something

TLDR

* mod_rewrite能否自动将所有GET参数转换为某种预定义的格式,如page/param/val/param/val page/param:val/param:val?*

更新

为了澄清我的问题/我理解如何使用正则表达式,以及哪些不匹配url的表达式。我的问题是,我是否可以设置一些规则,将查询字符串转换为预定义的格式,而无需事先知道有多少参数或它们用于什么页面。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-21 20:03:09

除了使用mod_rewrite之外,您还可以循环遍历index.php中的$_GET数组,并执行如下操作:

代码语言:javascript
复制
$url = '';
foreach($_GET as $key => $value) {
   $url .= $key . '/' . $value . '/';
}


header ("Location: http://www.mysite.com/" . $url);
票数 0
EN

Stack Overflow用户

发布于 2013-07-21 19:35:54

有关如何使用正则表达式的灵感,请参见类似的问题:

Rewrite wildcard's / appending

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17775991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档