我现在正在设置一个网站,每个用户都有自己的网页。
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]
答案 0 :(得分:1)
理想情况下,请求被重写的页面是主控制器/调度程序。我使用的方法是
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]
然后
$route = explode('/', $_GET['rt']);
在你的情况下会产生:
array( 'user' , 'photos' )
通过这种方式,您可以使用单个脚本来确定要加载的程序的哪个位,然后只需包含它。如果您决定在以后向网站添加不同的功能而不必完全重新排列代码,只需在控制器中添加另一部分即可。
答案 1 :(得分: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]