如何使用GET参数将HTTP请求重定向到静态文件

时间:2013-11-26 08:19:12

标签: php .htaccess

我有一个页面

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/中并且它可以正常工作!

1 个答案:

答案 0 :(得分:0)

apache重写规则是正则表达式,你编写的规则匹配整个字符串。写一个匹配/ u /之后的东西的规则,因此:

RewriteRule ^u/([^/]*)$ /u/profile.php?u=$1 [L]