Laravel public /子文件夹的另一个源代码

时间:2016-10-28 07:32:50

标签: php .htaccess laravel laravel-5 laravel-5.2

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

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

在我的localhost中,我可以使用网址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>

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

btw,laravel 5.2版

3 个答案:

答案 0 :(得分:0)

在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的内容

答案 1 :(得分:0)

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

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

比较本地和实时网站的设置

答案 2 :(得分:0)

发现了问题

使用WHM / CPANEL的实时服务器,需要添加

AllowOverride All

到httpd.conf