1

我现在建立了一个网站,每个用户都有自己的页面。

Example: www.example.com/user

但现在我想知道如何为每个用户设置不同的部分。

Example: www.example.com/user/photos

我怎样才能做到这一点?

这是我的用户页面的htaccess;

RewriteEngine On

RewriteOptions MaxRedirects=1

RewriteCond %{REQUEST_FILENAME} -f [NC,OR] 
RewriteCond %{REQUEST_FILENAME} -d [NC] 

RewriteRule .* - [L]
RewriteRule ^(.*)$ userpage.php?user=$1 [QSA,L]
4

2 回答 2

1

理想情况下,请求被重写到的页面是主控制器/调度程序。我使用的方法是

RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

然后

$route = explode('/', $_GET['rt']);

在你的情况下会产生:

array( 'user' , 'photos' )

通过这种方式,您可以使用单个脚本来确定要加载程序的哪一部分,然后简单地包含它。如果您决定在不必完全重新排列代码之后向您的站点添加不同的功能,只需将另一个部分添加到您的控制器。

于 2013-03-28T16:31:37.463 回答
0

如果我理解您的问题您希望每个用户都有不同的网址,例如

  www.example.com/user1/photos
  www.example.com/user2/photos

为此,您可以使用这样的东西

 RewriteCond %{REQUEST_URI} ^/([^/]+)/(.*)$ 
 RewriteRule ^ userpage.php?user=%1&url=%2 [S=1,L]

 RewriteCond %{REQUEST_URI} ^/(.*)$ [NC]
 RewriteRule ^ userpage.php?user=%1 [S=1,L]
于 2013-03-28T16:51:59.753 回答