FallbackResource指令提供500内部服务器错误

时间:2017-01-14 08:03:34

标签: php apache .htaccess

我正在使用WAMP。我有一个项目,其目录结构如下:

my_project/
    -folder_1
    -folder_2
    -404.php
    -.htaccess
    -router.php
    -index.php
    -file_1.php
    -file_2.php

现在计划将所有不匹配的网页请求重定向到' router.php'。从这个router.php我想将请求重定向到适当的php页面。

为了将所有不匹配的传入请求定向到router.php,我在.htaccess文件中写了以下行。但是,当我点击无效/不匹配的超链接时,它不会将我带到router.php页面,而是会向我显示500内部服务器错误'。

FallbackResource router.php

请告知我的代码有什么问题。

1 个答案:

答案 0 :(得分:1)

可能是因为它无法找到router.php因此会进入递归状态。如果您查看错误日志,您可能会发现以下内容:

Request exceeded the limit of 10 subrequest nesting levels due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

请改为尝试:

FallbackResource /router.php #Note the leading slash.

如果my_project/目录不是您的文档根目录,并且您必须像localhost/my_project那样访问它,则还需要提及目录层次结构:

FallbackResource /my_project/router.php

所以,如果是localhost/foo/bar/my_project,那就是:

FallbackResource /foo/bar/my_project/router.php