我读了一个线程上的[Laracast线程](https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5?page=2),但不确定当前的正确解决方案,特别是Laravel 5.5?(注意:除了选择使用哪个Php版本之外,我没有权限更改任何配置服务器端-以及一些ssh命令[目录有限,我可以访问])。
我的案例:使用共享主机,所以我的公共目录是
/home/{mycomputer-generated-user}/public\u html/
最初,我将Laravel目录上传到public_html文件夹中。该系统处理了URLwww.mydomain这一怪癖。xyz/public/
作为根目录的URL。
然后我尝试了这种修改路径的方法:
public\u html
文件夹,使其与public\u html
文件夹具有相同的级别李>所以文件夹(在我以前的laravel文件夹)驻留在这里:
/home/{mycomputer生成的用户}/
将/public
的内容复制到/public\u html
编辑了索引。php
内容的/public\u html
发件人:require\uuuuuu DIR\uuuuuu.'//供应商/自动加载。php′$app=需要一次目录//引导程序/应用程序。php′代码>
到:要求'/home/{my user}/vendor/autoload。php′$app=require_once'/home/{my user}/bootstrap/app。php′代码>
现在,我的主页加载了我的网页中所述的fine(欢迎查看)。php路由文件
Route::get('/',函数(){returnview('welcome');})代码>
===================================================================
我的问题:
然而,任何其他路线都会失败
“没有找到
在此服务器上找不到请求的URL/{合法路由}
”
我还需要做什么其他步骤吗?
我试过:1。加载存储在public_html文件夹中的简单jpg文件,效果很好(mydomain.xyz/test.jpg)
Route::get('/',函数(){returnview('test');})代码>
“未找到InvalidArgumentException视图[测试]。”代码>
Route::get('/main',function(){returnview('tempview.main');})代码>
我错过了什么。htaccess更改?另一个我需要改变公共路径的地方?
我的回答取决于你的努力:
将index.php和. htaccess从公共文件夹复制到public_html即根文件夹。
第二步。修改索引。将php放入公共html文件夹
From: require __DIR__.'/../vendor/autoload.php';
To: require __DIR__.'/vendor/autoload.php';
而且
From: $app = require_once __DIR__.'/../bootstrap/app.php';
To: $app = require_once __DIR__.'/bootstrap/app.php';