我有一个页面
example.com/u/_USERNAME_
我希望将请求重定向到
example.com/u/profile.php?u=_USERNAME_
我尝试过.htaccess(在/ u /文件夹中)文件,其中包含以下内容:
RewriteEngine on
RewriteRule (.*)$ profile.php?u=$1
重定向请求但 $_GET['u']
变量包含profile.php
问题出在哪里?
profile.php
位于/u/
文件夹中。因此规则重定向到自己的文件,GET参数丢失。
我已将profile.php
放在根文件夹example.com/
中并且它可以正常工作!
答案 0 :(得分:0)
apache重写规则是正则表达式,你编写的规则匹配整个字符串。写一个匹配/ u /之后的东西的规则,因此:
RewriteRule ^u/([^/]*)$ /u/profile.php?u=$1 [L]