使用$_GET的漂亮url


pretty url with $_GET

我试图得到漂亮的url,但我不知道任何关于htaccess。

试图得到类似
的东西:

domain.com/? page =登录
domain.com/? page = user& uid = 2

:

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

我必须这样指定所有内容吗?:

domain.com/Page ? = arg1& b = arg2& c =长度
domain.com/Page/arg1/arg2/arg3

还是"更动态"?

我喜欢使用http://www.generateit.net/mod-rewrite/。当你使用这个工具2到3次时,很容易弄清楚它是如何做到的。

您可以定义哪些参数采用哪些"spot"

so to get your:

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]

你"page"这个问题看起来有点难。

你必须为每个"页面"添加重写规则。

至少我不知道怎么做。

如果它是一个文件夹你可以通过给文件夹赋予自己的。htaccess

来解决这个问题<标题>编辑:
RewriteEngine On
RewriteRule ^Page/([^/]*)/([^/]*)/([^/]*)'.html$ /Page.php?a=$1&b=$2&c=$3 [L]

可能会奏效。我在生成器

prefix下添加了Page/

如果这是一个新项目,我建议使用Zend framework等框架。它们内置的默认路由接受你想要的url样式。

例如,一个用户id为123的用户登录页面的请求看起来像这样:/用户/登录/id/123

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

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