我想用PHP创建一个简单的社交网络,每个用户有分享他的图片和文字的轮廓。
我有我想要添加功能的问题,即用户将在访问他的个人资料,如Facebook,Instagram的和等象下面这样:
my website.com/user1
不是这个:mywebsite.com/@user1
对于使用nginx,请参考此答案https://stackoverflow.com/a/53415110/6749661
还有,你可以做到这一点的一些方法,如@ MRustamzade的回答,您可以更改.htaccess文件包含这样的代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /user.php?username=$1 [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的用户名,你可以使用$匹配变量,是这样的:
$username = $match["params"]["username"];
创建.htaccess
文件,加入:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /user.php?username=$1 [L] //update user.php?username to your users profile route.
如果您有关于.htaccess
文件有任何疑问,那么请检查this link。