在寻找我的问题的答案后,我仍然对此感到难过。我正在开发一个允许用户创建个人资料的小型社交脚本,但我希望他们的个人资料的网址很短。我编辑了.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]
提前致谢!
答案 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]
拥有/?
也可以防止任何尾随斜杠(如果存在)。