多虚荣URL

时间:2015-02-15 22:06:25

标签: php .htaccess mod-rewrite

我不认为它实际上被称为多虚荣网址,但这才是我所说的,直到我了解它的真实姓名。

到目前为止,我已经使用.htaccess来设置虚荣网址。所以现在如果我输入     http://example.com/Username

我可以访问该用户个人资料。

我的.htaccess看起来像这样:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /page.php?username=$1

但我现在想要这样做,如果我输入:     http://example.com/Username/Friends 它会告诉我那个用户朋友。

我试过这样做:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /page.php?username=$1&action=$2

但这并不奏效。

我也尝试过:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /page.php?username=$1&action=$1

有谁知道我该怎么做?

1 个答案:

答案 0 :(得分:1)

那是因为你需要在路径中捕获它们。您需要一个子目录,您需要向RewriteRule添加更多内容。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ /page.php?username=$1&action=$2 [NC,QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /page.php?username=$1 [NC,QSA,L]

这是你的规则。