0

我想知道如何通过 url 作为一个干净的 url 传递几个(两个)值。我以前做过干净的网址,但从来没有使用多个值,而且它似乎不起作用。

这是 url 现在的样子:

http://example.com/?user=Username&page=1

这就是我想要的样子

http://example.com/user/Username/page/1

我已经尝试过我在这里看到的其他答案,但它们不适用于这个特定的交易。

RewriteEngine On
# Don't match real existing files so CSS, scripts, images aren't rewritten
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d

# Match the first two groups before / and send them to the query string
RewriteRule ^([^/]+)/([^/]+) index.php?user=$1&page=$2 [L] 

谢谢。:) 顺便说一句,我正在使用 PHP。:)

另外,我仍然可以使用 $_GET 吗?我是这么认为的,但我也在其他地方说你不能......:D

4

1 回答 1

3

您错过了几场比赛,请尝试:

RewriteEngine On
# Don't match real existing files so CSS, scripts, images aren't rewritten
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+) index.php?$1=$2&$3=$4 [L] 

这将采用如下 URL:

http://example.com/a/b/c/d

到 URI:

/index.php?a=b&c=d

我仍然可以使用 $_GET 吗?我是这么认为的,但我也在其他地方说你不能。

在上面的示例中,当您查看时,$_GET['a']您会得到b.

于 2012-08-25T16:12:52.613 回答