【发布时间】:2018-04-30 18:35:00
【问题描述】:
我已经阅读了 [Laracasts 线程] (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_html/
最初我将 Laravel 目录上传到 public_html 文件夹中。该系统使用 URL www.mydomain.xyz/public/ 作为 root 的 URL。
然后我尝试了这种修改路径的方法:
- 将所有文件移出
public_html文件夹,使其具有与public_html文件夹相同的级别。
所以文件夹(在我以前的 laravel 文件夹中)驻留在此处:
/home/{mycomputer generated user}/
将
/public的内容复制到/public_html修改了
/public_html的index.php内容
来自:
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
到:
require '/home/{my user}/vendor/autoload.php';
$app = require_once '/home/{my user}/bootstrap/app.php';
现在我的主页加载正常(欢迎查看),如我的 web.php 路由文件中所述
Route::get('/', function () {
return view('welcome');
});
================================================ =====================
我的问题:
但是,任何其他路由都会失败
“未找到
在此服务器上找不到请求的 URL /{legitimate route}"
我还需要做什么其他步骤?
我试过了: 1.加载存储在public_html文件夹中的简单jpg文件,效果很好(mydomain.xyz/test.jpg)
- 更改了 root 的路由以返回无效视图,这引发了 Laravel 错误
Route::get('/', function () {
return view('test');
});
"InvalidArgumentException
View [test] not found."
- 尝试使用闭包(而不是使用控制器)返回合法视图 - 无效
Route::get('/main', function () {
return view('tempview.main');
});
我错过了什么? .htaccess 更改?我需要更改公共路径的另一个地方?
【问题讨论】:
标签: .htaccess laravel-5.5 public-html