web dev - 服务器未指向 laravel 7.3 public,显示 'Index of /' 页面
web dev - server not pointing to laravel 7.3 public, displaying 'Index of /' page
我使用
在工作服务器上的新 public_html 目录中创建了一个新的 laravel 项目
composer create-project laravel/laravel public_html
我已经创建了 .vue 组件和控制器来在访问网站时显示主页,但显示的是:
这是用于处理请求的 web.php 文件:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', [HomepageContoller::class, 'index'])
->name('home');
这里是 HomepageController class:
<?php
namespace App\HTTP\Controllers;
use Inertia\Inertia;
class HomepageContoller extends Controller {
public function index() {
return Inertia::render('Homepage/Index');
}
}
?>
这是 .vue 组件:
<template>
<div>
<h1>Brite Visual Products<h1>
</div>
</template>
<script>
export default {
metaInfo: { title: 'Brite Visual Products' },
}
</script>
一切都在它所属的地方,自从 composer create-project
调用
以来没有任何移动
更新:
似乎问题只是网络根目录指向 public_html/ 而不是 public_html/public/
为了解决我需要在我的工作服务器上拥有更高权限的问题,post 稍后会有一个完整的解决方案
编辑以下文件
vi /var/cpanel/userdata/username/domain.com
将“username”替换为您的 cPanel 帐户用户名,将“domain.com”替换为您的主域名,将“subdir”替换为您的新目录。
在此文件中找到以下两行。
documentroot: /home/username/public_html
path: /home/username/public_html/cgi-bin
修改这两行,将您的主域的文档根目录更改为“public_html”目录中的子目录。
documentroot: /home/username/public_html/subdir
path: /home/username/public_html/subdir/cgi-bin
如果主域安装了 SSL 证书,请按照上述相同的方式编辑以下文件。
vim /var/cpanel/userdata/username/domain.com_SSL
更改后保存文件,然后删除主域的缓存文件。
rm -vf /var/cpanel/userdata/username/domain.com_SSL.cache
运行 以下脚本更新用户数据缓存并重建 apache 配置文件。
/scripts/updateuserdatacache
/scripts/rebuildhttpdconf
重新启动 Apache 服务器以加载更改。
service httpd restart
我使用
在工作服务器上的新 public_html 目录中创建了一个新的 laravel 项目composer create-project laravel/laravel public_html
我已经创建了 .vue 组件和控制器来在访问网站时显示主页,但显示的是:
这是用于处理请求的 web.php 文件:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', [HomepageContoller::class, 'index'])
->name('home');
这里是 HomepageController class:
<?php
namespace App\HTTP\Controllers;
use Inertia\Inertia;
class HomepageContoller extends Controller {
public function index() {
return Inertia::render('Homepage/Index');
}
}
?>
这是 .vue 组件:
<template>
<div>
<h1>Brite Visual Products<h1>
</div>
</template>
<script>
export default {
metaInfo: { title: 'Brite Visual Products' },
}
</script>
一切都在它所属的地方,自从 composer create-project
调用
更新:
似乎问题只是网络根目录指向 public_html/ 而不是 public_html/public/
为了解决我需要在我的工作服务器上拥有更高权限的问题,post 稍后会有一个完整的解决方案
编辑以下文件
vi /var/cpanel/userdata/username/domain.com
将“username”替换为您的 cPanel 帐户用户名,将“domain.com”替换为您的主域名,将“subdir”替换为您的新目录。
在此文件中找到以下两行。
documentroot: /home/username/public_html
path: /home/username/public_html/cgi-bin
修改这两行,将您的主域的文档根目录更改为“public_html”目录中的子目录。
documentroot: /home/username/public_html/subdir
path: /home/username/public_html/subdir/cgi-bin
如果主域安装了 SSL 证书,请按照上述相同的方式编辑以下文件。
vim /var/cpanel/userdata/username/domain.com_SSL
更改后保存文件,然后删除主域的缓存文件。
rm -vf /var/cpanel/userdata/username/domain.com_SSL.cache
运行 以下脚本更新用户数据缓存并重建 apache 配置文件。
/scripts/updateuserdatacache
/scripts/rebuildhttpdconf
重新启动 Apache 服务器以加载更改。
service httpd restart