-1

我试图获得漂亮的网址,但我对 htaccess 一无所知。

试图得到这样的东西

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

至:

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

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

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

还是可以“更有活力”?

4

2 回答 2

0

如果这是一个新项目,我建议使用 Zend Framework 等框架。他们内置的默认路由以您想要的方式接受 url。

例如,对用户 id 为 123 的用户登录页面的请求可能如下所示:/user/login/id/123

在此处阅读更多信息:http: //framework.zend.com/manual/2.1/en/user-guide/routing-and-controllers.html

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

于 2013-05-09T18:39:57.043 回答
0

我喜欢使用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生成器中添加了

于 2013-05-09T18:20:58.867 回答