0

我正在尝试使用 htaccess 将我的网址写为 localhost/username 而不是 localhost/profile.php?id=username

我查了一下,这就是我发现的解决方案

DirectoryIndex index.php
RewriteEngine On
RewriteRule ^(.*)$ /profile.php?id=$1 [L]

这是这个stackoverflow问题htaccess rewrite for query string的精确副本,但是由于某种原因它总是返回500错误。我不确定为什么它会给我这个,因为我不是 htaccess 专家。我几乎只是发现代码修改它以适合我的使用。

Mod_rewrite 肯定是打开的。所以我知道这不是问题。知道我的代码有什么问题吗?

编辑:

这是 apache 错误日志返回的内容。

[Sat Apr 27 14:20:10.558122 2013] [core:error] [pid 3244:tid 1688] [client 127.0.0.1:58653] AH00124:由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用“LogLevel debug”获取回溯。

4

2 回答 2

1

如果您的评论确实是一个重定向循环,请尝试在您的规则之前立即添加此行:

RewriteCond %{REQUEST_URI} !-f
于 2013-04-27T18:35:40.937 回答
0

它所说的部分/profile.php?id=$1是将您重写到的位置。如果那不是文件,那么它将显示错误,因此将其更改为您希望它重写的任何文件。

希望这有帮助

  • 凯文
于 2013-04-27T18:24:57.770 回答