Laravel public/subfolder 另一个源码

Posted

技术标签:

【中文标题】Laravel public/subfolder 另一个源码【英文标题】:Laravel public/subfolder another source code 【发布时间】:2017-03-11 01:25:30 【问题描述】:

任何人都知道如何让 laravel 路由到 laravel 公用文件夹中的另一个文件夹,当前文件夹结构:

public
   index.php <==== this is laravel index.php
   .htaccess <==== this is laravel default .htaccess
   subfolder <==== this is not laravel php code files

在我的本地主机中,我可以访问带有 url http://example.dev/subfolder 的子文件夹

但在我的实时站点中,http://example.com/subfolder 向我抛出了

的错误

RouteCollection.php 第 161 行中的 NotFoundHttpException:

这里是 laravel .htaccess 文件

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^ index.php [L]
</IfModule>

本地/实时服务器源代码都是同步的,我猜这是一些服务器设置问题,但我不知道关键字是什么,感谢所有帮助

顺便说一句,laravel 5.2 版本

【问题讨论】:

【参考方案1】:

在 Laravel 中,不是路由到文件夹,而是路由到特定页面。

如果你有这样的结构

public
  index.php <==== this is laravel index.php
  .htaccess <==== this is laravel default .htaccess
  subfolder <==== this is not laravel php code files
     test.blade.php <==== this is a simple webpage

你想把它路由到test.blade.php,你的路由应该是这样的

在您的routes.php 文件中:

Route::get('/test', function() 
    return View::make('subfolder.test');
);

所以当您打开http://example.dev/test 时,它会显示页面test.blade.php 的内容,该页面位于subfolder

【讨论】:

还有一些其他程序员在纯php中完成的其他代码,所以必须这样做【参考方案2】:

检查 httpd.conf 设置。寻找这个文件

DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">

比较本地和实时站点中的设置

【讨论】:

local/live 都指向 /path/to/source/public,这有什么问题吗?【参考方案3】:

发现问题

使用WHM/CPANEL的直播服务器,需要添加

AllowOverride All

到 httpd.conf

【讨论】:

以上是关于Laravel public/subfolder 另一个源码的主要内容,如果未能解决你的问题,请参考以下文章

laravel 判断 改了哪个定位

使用 laravel 安装程序创建 laravel 项目

Laravel:laravel 可翻译插件

win 怎么laravel命令

laravel 安装失败

laravel validator怎么验证整数