这可能已经存在,但我似乎无法在搜索一段时间后找到答案。
这就是我想要的:
http://example.com/user/blitzen12
http://example.com/properties/1
.htaccess文件
Options FollowSymLinks
RewriteEngine On
RewriteBase /example.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/([^\/]*)\/?$ ./user/user-page.php?name=$1 [L,QSA]
RewriteRule ^properties/([^\/]*)\/?$ ./properties/property-page.php?pid=$1 [L,QSA]
问题是当我尝试访问http://example.com/properties/1
而第一个重写符存在时,我得到了500个内部错误。
但是当我试图删除或评论第一个重写时,一切正常。
或当我尝试访问http://example.com/agents/blitzen12
而第二次重写时,我遇到了同样的错误,当我删除第二次重写时它工作正常
apache完整错误日志
[Thu May 22 14:59:12.940137 2014] [core:error] [pid 216:tid 1668] [client ::1:58929] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
有人可以指出我做错了什么吗?感谢
答案 0 :(得分:2)
从两个RewriteRules中删除./
应该可以解决问题。