我正试图用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
。