0

在为我的问题寻找答案后,我仍然对此感到困惑。我正在开发一个允许用户创建个人资料的小型社交脚本,但我希望他们的个人资料 URL 较短。我编辑了 .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]

提前致谢!

4

2 回答 2

0

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

RewriteEngine One
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ profile.php?name=$1 [QSA,L]
于 2013-10-11T20:47:01.103 回答
0
RewriteEngine On

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

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

于 2013-10-11T20:47:34.290 回答