显示用户个人资料,如网站。com/user1
Display user profile like site.com/user1
我想用 PHP 创建一个简单的社交网络,每个用户都有一个个人资料来分享他的图片和文字。
我有一个问题,我想添加用户可以访问他的个人资料(如 Facebook、Instagram 等)的功能,如下所示:
my website.com/user1
不是这个:mywebsite.com/@user1
创建 .htaccess
文件并添加:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /user.php?username= [L] //update user.php?username to your users profile route.
如果您对 .htaccess
文件有任何疑问,请检查 this link。
使用Nginx,参考这个回答
有几种方法可以做到这一点,就像@MRustamzade 的回答一样,您可以更改 .htaccess 文件以包含如下代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /user.php?username= [L] //update user.php?username to your users profile route.
您也可以使用路由器框架,例如 Altorouter,它允许您执行此操作,并且具有大量页面。
使用 Altorouter,您可以设置许多路由规则,一个简单的设置可能包括:
$router = new AltoRouter();
$router->map( 'GET', '/profile/[*:username]', 'views/profile_view.php', 'home' );
$match = $router->match();
if($match) {
header("HTTP/1.1 200 OK");
require $match['target'];
} else {
header("HTTP/1.0 404 Not Found");
echo "Error 404 - File not found";
}
使用此代码将允许您前往 site.com/profle/username
将前往 views/profile_view.php
为了从 PHP 中的 URL 获取用户名,您可以使用 $match 变量,如下所示:
$username = $match["params"]["username"];
我想用 PHP 创建一个简单的社交网络,每个用户都有一个个人资料来分享他的图片和文字。
我有一个问题,我想添加用户可以访问他的个人资料(如 Facebook、Instagram 等)的功能,如下所示:
my website.com/user1
不是这个:mywebsite.com/@user1
创建 .htaccess
文件并添加:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /user.php?username= [L] //update user.php?username to your users profile route.
如果您对 .htaccess
文件有任何疑问,请检查 this link。
使用Nginx,参考这个回答
有几种方法可以做到这一点,就像@MRustamzade 的回答一样,您可以更改 .htaccess 文件以包含如下代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /user.php?username= [L] //update user.php?username to your users profile route.
您也可以使用路由器框架,例如 Altorouter,它允许您执行此操作,并且具有大量页面。
使用 Altorouter,您可以设置许多路由规则,一个简单的设置可能包括:
$router = new AltoRouter();
$router->map( 'GET', '/profile/[*:username]', 'views/profile_view.php', 'home' );
$match = $router->match();
if($match) {
header("HTTP/1.1 200 OK");
require $match['target'];
} else {
header("HTTP/1.0 404 Not Found");
echo "Error 404 - File not found";
}
使用此代码将允许您前往 site.com/profle/username
将前往 views/profile_view.php
为了从 PHP 中的 URL 获取用户名,您可以使用 $match 变量,如下所示:
$username = $match["params"]["username"];