提问者:小点点

Laravel 5.5共享主机从/public更改为/public_html-部分工作正常


我读了一个线程上的[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。

然后我尝试了这种修改路径的方法:

  1. 将所有文件移出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更改?另一个我需要改变公共路径的地方?


共1个答案

匿名用户

我的回答取决于你的努力:

将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';