.htaccess 网址重定向,但不显示索引页


.htaccess URL redirect but not displaying index page

在为我的问题寻找答案后,我仍然对此感到困惑。我正在开发一个允许用户创建个人资料的小型社交脚本,但我希望他们的个人资料 URL 很短。我编辑了.htaccess文件,它运行良好!

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

但是,当您只是转到索引页时。它显示配置文件.php但有一个空的 GET 变量...

这是我的.htaccess代码

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

提前感谢!

我认为

,您在解决时遇到了问题:http://www.site.com/(不是 www.site.com/index.php(。并且.htaccess see比文件"不存在并重定向到 www.site.com/profile.php?user=(带有空参数user(。尝试 modyfy .htaccess 这个(使用 ^(.+)$ 代替 ^(.*)$ (:

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

具有/?还可以防止任何尾部斜杠(如果存在(。