我正在尝试使用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”获取回溯。
答案 0 :(得分:1)
如果您的评论确实是重定向循环,请尝试在规则之前立即添加此行:
RewriteCond %{REQUEST_URI} !-f
答案 1 :(得分:0)
它所说的/profile.php?id=$1
部分是重写你的地方。如果那样;它不是一个文件,那么它会显示一个错误,所以将它更改为你希望它重写的任何文件。
希望这有帮助