RewriteRule htaccess问题

时间:2017-08-18 10:50:39

标签: apache .htaccess mod-rewrite

我的项目根目录中有live-cams.php文件,我尝试将链接重写为/ live-cams

RewriteRule ^live-cams ./live-cams.php [NC,L]

此规则抛出

  尝试使用ErrorDocument处理请求时遇到了

500内部服务器错误错误。

当我尝试打开文件/live-cams.php时,

也会抛出相同的错误。 index.php的规则看起来像live-cams.php并且运行良好

RewriteRule ^home ./index.php [NC,L]

当我键入友情链接为^ live-cams /而不是^ live-cams时,它可以工作。

Apache错误日志:

  

[Fri Aug 18 12:20:38.011915 2017] [core:error] [pid 14024:tid 1920] [client :: 1:58474] AH00124:由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用'LimitInternalRecursion'增加限制。使用“LogLevel debug”获取回溯。

任何人都知道什么是错的?

1 个答案:

答案 0 :(得分:1)

你需要在你的正则表达式pattenrs中使用锚点:

RewriteRule ^live-cams/? live-cams.php [NC,L]

RewriteRule ^home/?$ index.php [NC,L]

否则live-cams是原始和重写URI的一部分,从而导致mod_rewrite继续执行您的规则,直到它达到LimitInternalRecursion计数。