Php 显示用户配置文件,如site.com/user1
我想用PHP创建一个简单的社交网络,每个用户都有一个共享其图像和文本的配置文件 我有一个问题,我想添加一些功能,让用户可以访问他的个人资料,如Facebook、Instagram等,如下所示:Php 显示用户配置文件,如site.com/user1,php,url,nginx,social-networking,Php,Url,Nginx,Social Networking,我想用PHP创建一个简单的社交网络,每个用户都有一个共享其图像和文本的配置文件 我有一个问题,我想添加一些功能,让用户可以访问他的个人资料,如Facebook、Instagram等,如下所示: my-website.com/user1 不是这个:mywebsite.com/@user1创建.htaccess文件并添加以下内容: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}
my-website.com/user1
不是这个:
mywebsite.com/@user1
创建.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
文件有任何疑问,请检查。创建.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
文件有任何疑问,请检查。有关Nginx的使用,请参阅此答案
有几种方法可以做到这一点,比如@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.
$username = $match["params"]["username"];
您还可以使用路由器框架,例如,它允许您这样做,并且具有大量页面
使用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\u view.php
为了在PHP中从URL获取用户名,可以使用$match变量,如下所示:
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.
$username = $match["params"]["username"];
有关与Nginx一起使用的信息,请参阅此答案 有几种方法可以做到这一点,比如@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.
$username = $match["params"]["username"];
您还可以使用路由器框架,例如,它允许您这样做,并且具有大量页面
使用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\u view.php
为了在PHP中从URL获取用户名,可以使用$match变量,如下所示:
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.
$username = $match["params"]["username"];
使用htaccess重写规则扫描您描述的更多信息!如果我的Web服务器是Nginx htaccess work?请使用htaccess重写规则扫描您的详细描述!如果我的Web服务器是Nginx,那么访问工作就可以了吗?谢谢你们,但我的Web服务器是Nginx。可以在我的网站上使用htaccess吗?非常感谢你们,但我的网站服务器是Nginx。可以在我的网站上使用htaccess吗?