Laravel 5.2除了主路线外,所有路线都有效

时间:2016-10-25 19:21:01

标签: apache .htaccess routing laravel-5.2

我有一个项目,我正在从我的开发服务器移动到我的托管服务器。我已将Apache配置中的Document路由设置为公用文件夹。我得到的奇怪的行为是所有路线除了本国路线之外还有工作......或者' /'路线。这一切都适用于我的开发服务器,但我从未将文档根目录设置为公用文件夹。除此之外,我预计它会起作用。这很奇怪。 www.example.com加载空白页面,没有错误。但是,www.example.com/events工作正常,或任何子路由。我git将整个项目推送到生产服务器(如果这引发了任何想法)。现在,我已将我当前的.htaccess文件包含在下面。我用.htaccess尝试了很多东西,因为我假设这是问题,但没有运气!期待任何建议!

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index.php [L]

我已将文件的所有权限设置为644,将文件夹设置为755.然后我将存储和公用文件夹的权限设置为777,以确保他们具有所需的访问权限 - 我可以限制它们一旦我弄清楚了问题)。这是我第一次转向生产的Laravel项目,所以请不要把任何事情视为理所当然,并向我提出你的想法! :)最后,当我尝试访问主页时,我在错误日志中没有得到任何结果。他们仍然是空的。

更新:当我对我的路线文件执行此操作时,我没有得到任何文本,仍然只是WSD(白屏死机):

Route::get('/', function () {
    return 'Hello World';
});

1 个答案:

答案 0 :(得分:0)

终于想通了!希望这会有助于其他人......

我不得不注释掉公共文件夹中找到的index.php中的第一行。这是您要寻找的那条线:

if (file_exists(__DIR__ . $_SERVER["REQUEST_URI"])) return false;

如果你想了一会儿这是有意义的,但是太令人沮丧了。一旦你评论出那条线,你应该好好去!此错误是通过使用附加包(使用chrome扩展)创建的,以允许您查看Laravel查询生成器生成的所有原始SQL查询。如果我没有使用这个包我不会有问题。希望这对其他人有帮助!享受!