我想知道如何通过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
答案 0 :(得分: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]
这将采用如下网址:
http://example.com/a/b/c/d
到URI:
/index.php?a=b&c=d
我仍然可以使用$ _GET吗?我是这么想的,但我也在其他地方说过你不能。
在上面的示例中,当您查看$_GET['a']
时,您将获得b
。