漂亮的网址与$ _GET

问题描述:

我试图让漂亮的网址,但我不知道任何关于htaccess。

试图得到类似
这样:

domain.com/?page=login
domain.com/?page=user &的uid = 2

到:

domain.com/login/
domain.com/use R/2

做我有这样?:

domain.com/Page?a=arg1 & B = ARG2 & C = ARG3
domain.com/Page/指定一切arg1/arg2/arg3

或者它可以“更加动态”吗?

+1

给看看: http://stackoverflow.com/questions/812571/how-to-create-friendly-url-in-php – gvsrepins 2013-05-09 18:23:51

+1

所以你在努力学习如何使用mod_rewrite规划?您是否尝试过使用它并遇到问题?或者你只是想让我们告诉你如何去做?更不用说,关于如何做到这一点,可能有数以千计的关于SO的问题以及互联网上可用的大量资源。 – 2013-05-09 18:24:32

+0

[这里](http://stackoverflow.com/questions/9105940/user-friendly-urls-mod-rewrite-and-php-redirect/16401451#16401451)是我在类似的线程解决方案。 – Danijel 2013-05-09 18:24:47

我喜欢使用http://www.generateit.net/mod-rewrite/。当您使用该工具2或3次时,很容易弄清楚它是如何完成的。

您可以定义哪些参数采取

所以要得到这 “点” 你的:

domain.com/?page=login 
domain.com/?page=user&uid=2 

到:

domain.com/login/ 
domain.com/user/2 

您可以使用:

RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)$ /?page=$1&uid=$2 [L] 

你的“页面”问题看起来像一个有点困难。

你将不得不为每个“页面”或文件,我猜想添加重写规则。

至少我不知道该怎么做。

如果这是你能解决我放弃该文件夹了自己的.htaccess

编辑一个文件夹:

RewriteEngine On 
RewriteRule ^Page/([^/]*)/([^/]*)/([^/]*)\.html$ /Page.php?a=$1&b=$2&c=$3 [L] 

可能会奏效。我在生成器中添加了Page/prefix

+2

这应该是一条评论。这不是一个完整的答案。 – brbcoding 2013-05-09 18:23:27

+0

好吧,让我改变然后 – Wurstbro 2013-05-09 18:25:40

+0

希望更好 – Wurstbro 2013-05-09 18:32:50

如果这是一个新项目,我建议使用一个框架,比如Zend Framework。他们内置的默认路由接受你想要的网址。

例如,对于与123的用户ID用户的登录页面的请求可以是这样的: /用户/注册/ ID/123

在这里阅读更多: http://framework.zend.com/manual/2.1/en/user-guide/routing-and-controllers.html

还有其他像CakeCode Ignitor这样的框架可以做同样的事情。但是,我相信他们(和Zend)确实需要在Apache上安装mod_rewrite。

+0

是它的一个新项目,但因为它的学习目的,我试图建立自己的模板“像系统“,让自己适应不同的语言,以及如何从头开始构建。 我希望这是有道理的:) – objectnabb 2013-05-09 18:44:43