URL重写类似于instagram个人资料



我正试图用Instagram或Facebook等独特的插件重写我的URL。

示例:facebook.com/joe

我的URL是这样的:website.com/user.php?username=joe

我在尝试这个规则。htaccess:

RewriteEngine On
RewriteRule ^([a-z]+)$ user.php?username=$1 [L]

但它不起作用,它在/user.php上重定向。

如果我使用这个规则,它会起作用:

RewriteEngine On
RewriteRule ^u/([^/]*)$ /user.php?username=$1 [L]

但结果是website.com/u/joe,我更喜欢没有u

知道吗?

将其添加到web根目录/中的.htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ user.php?username=$1 [NC,L]

模式^(.*)$中的.*/anything匹配,括号有助于捕获anything部分作为$1变量,在替换URL中用作user.php?username=$1

如果您需要多个参数,您可以简单地在$1之后添加&%{QUERY_STRING}以进行分离,并将它们添加到查询字符串的末尾。例如:如果您通过website.com/joe?age=31,结果将为website.com/user.php?username=joe&age=31

最后,标志NC只是使规则不区分大小写,因此它也匹配/Joe/JOE

最新更新