Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel子文件夹htaccess_Php_.htaccess_Laravel_Mod Rewrite_Laravel 4 - Fatal编程技术网

Php Laravel子文件夹htaccess

Php Laravel子文件夹htaccess,php,.htaccess,laravel,mod-rewrite,laravel-4,Php,.htaccess,Laravel,Mod Rewrite,Laravel 4,我试图在我的站点上的子文件夹中运行laravel,但在htaccess部分遇到了问题 我在这里看到了很多类似的问题,但我没有发现任何适用于我的案例的问题,也没有找到完全有效的问题 我的文件夹结构有几个层次: site root/folder1/folder2/laravel installation/public folder/ 我一直在尝试将laravel安装文件夹重定向到公用文件夹,以前使用htaccess在根目录中安装laravel时,我已经这样做了: RewriteRule ^(fol

我试图在我的站点上的子文件夹中运行laravel,但在htaccess部分遇到了问题

我在这里看到了很多类似的问题,但我没有发现任何适用于我的案例的问题,也没有找到完全有效的问题

我的文件夹结构有几个层次:

site root/folder1/folder2/laravel installation/public folder/
我一直在尝试将laravel安装文件夹重定向到公用文件夹,以前使用htaccess在根目录中安装laravel时,我已经这样做了:

RewriteRule ^(folder1/folder2/laravel installation/)
/folder1/folder2/laravel installation/public folder/
当我将一个空白的测试索引文件放入公用文件夹时,上面的代码会工作,并重定向到它

但是,当我使用laravel索引文件时,会出现以下laravel错误:

NotFoundHttpException in RouteCollection.php line 161
如果我删除htaccess并直接导航到公用文件夹,laravel工作(这是laravel的新安装)

我是否需要更改laravel配置文件中的某些内容才能使其正常工作?或者这是不可能的

多谢各位

编辑:

我忘了提到我的公用文件夹中有一个htaccess文件,下面是代码:

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

RewriteEngine On


RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]


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

访问index.php的确切路径是什么?因为据我所知,你不能只是去。这可能意味着您没有在routes.php中定义要访问的路由。这是laravel的空白安装,因此路由为“/”。我指向的url不包含index.php,我只是指向该文件夹,但它不是直接从根目录中删除的。我正在我的一个站点的子域中测试这个,url是:www.demo.[mydomain].com/folder1/folder2/laravel/。路由是laravel 5的默认路由,即:route::get('/',function(){return View('welcome');});但我也尝试过返回一个字符串,但仍然得到了相同的http not found。我刚刚发现,如果在url之后键入index.php,它确实可以工作!请参见问题底部的编辑尝试将路由定义为该文件夹结构。我认为laravel在处理子文件夹方面做得不好。不要试图欺骗laravel使用www.domain.com/path/to/my/app/,只需告诉laravel您希望它在routes.php文件中的位置即可
www.demo.[mydomain].com/folder1/folder2/laravel/index.php