将我的网址重写为动态网址

时间:2016-05-04 05:59:08

标签: php url-rewriting

我有一个像

这样的网址

我需要将此网址更改为

此用户名是从数据库中动态获取的,条目为id = 1064

请告诉我一个解决方案,将我的网址重写为上述格式

2 个答案:

答案 0 :(得分:0)

您可以在RewriteEngine on文件中使用.htaccess添加RewriteRule。看看Mod Rewrite:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

答案 1 :(得分:0)

首先,您必须在.htaccess内部安装RewriteEngine。

RewriteEngine On

之后,您需要链接的正则表达式。假设您的所有用户名仅包含字母和数字,这将是适当的正则表达式。但是,如果不是这种情况,只需将[A-z0-9]部分调整为您的用户名可以包含的任何字符。

RewriteRule ^([A-z0-9])/?$ profile.php?username=$1 [NC,L]

请注意,我们将用户名作为$ _GET参数传递而不是id。

此外,建议在链接中输入用户名之前的内容。换句话说,http://example.com/u/username代替http://example.com/username,因为如果您有http://example.com/random这样的网页,则会使用profile.php作为用户名来调用random。因此,对于上面的示例,正​​则表达式将是:

RewriteRule ^u/([A-z0-9])/?$ profile.php?username=$1 [NC,L]