.htaccess URL重定向但不显示索引页面

时间:2013-10-11 20:02:41

标签: php apache .htaccess mod-rewrite redirect

在寻找我的问题的答案后,我仍然对此感到难过。我正在开发一个允许用户创建个人资料的小型社交脚本,但我希望他们的个人资料的网址很短。我编辑了.htaccess文件,它完美无缺!

例如     www.site.com/username 重定向到     www.site.com/profile.php?user=username

然而,当你只是去索引页面。它显示了profile.php,但是有一个空的GET变量...

这是我的.htaccess代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ profile.php?name=$1 [QSA,L]

提前致谢!

2 个答案:

答案 0 :(得分:0)

我认为,在解决问题时遇到问题:http://www.site.com/(不是www.site.com/index.php)。并且.htaccess看到文件“”不存在并重定向到www.site.com/profile.php?user=(带有空参数用户)。尝试使用modyfy .htaccess(使用^(.+)$代替^(.*)$):

RewriteEngine One
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ profile.php?name=$1 [QSA,L]

答案 1 :(得分:0)

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ profile.php?name=$1 [QSA,L]

拥有/?也可以防止任何尾随斜杠(如果存在)。