1

我想创建一个动态 url,这样当我从我的网站登录时,我的用户名将显示在 url 上。例如,假设我使用以下方式登录:

http://example-website.com

用我的用户名 myname。网址应该变成

http://example-website.com/myname

但实际上网页是 loginsuccess.php,别名为 myname,这是我的用户名

我怎样才能做到这一点?

4

2 回答 2

5

这实际上很容易.htaccess使用RewriteEngine。在下面的示例中,我将使用一些非常简单的(.*)正则表达式,它只是一个通配符,因此所有内容都将被接受 ( a-zA-z0-9)。

/username 前缀_profile

RewriteEngine on
RewriteRule ^profile/(.*) user_profile.php?username=$1
ErrorDocument 404 /pathtofile/404.html

结果:http ://www.example-website.com/profile/john-smith

使用 just username,此选项将需要某种Routing类。

RewriteEngine on
RewriteRule ^(.*) user_profile.php?username=$1
ErrorDocument 404 /pathtofile/404.html

结果:http ://www.example-website.com/john-smith

使用带后缀的 RewriteEngine auth

RewriteEngine on
RewriteRule ^(.*)/auth auth_user.php?username=$1&q=auth
ErrorDocument 404 /pathtofile/404.html

结果:http ://www.example-website.com/john-smith/auth

于 2013-04-30T04:13:58.557 回答
1

快速提示:

  • 将唯一的用户名存储在表中。
  • 在你的 http-server 中启用 rewrite 模块(这里有一个教程)。
  • 将 URL http://example.com/username重写为 route.php(或类似的东西)。
  • Route.php 应该读取 URL 并提取用户名并使用适当的表进行交叉验证。
  • 如果找到匹配项,则显示相应的页面,否则显示 404。
  • 完毕!

有关详细说明,请参阅Facebook Like Custom Profile URL PHP

于 2013-04-30T03:58:59.897 回答