我目前是刚开始将项目文件部署到godaddy托管站点,所以在发布此文件之前,我阅读了stackoverflow中已经在此处创建的一些相关问题,我只是感到困惑,因为cpanel有public_html文件夹,而我的面板没有公共html 。所以现在我经历了
HTTP错误404。找不到请求的资源。
我唯一要做的就是在httpdocs中移动laravel文件。
我的CPanel:Plesk玛瑙17.8.11
对于文件夹结构:
所以在httpdocs里面是我所有的laravel文件
网站显示如下。
希望有人帮我解决这个问题。
答案 0 :(得分:1)
嗯,有两种方法...
1st 在 cpanel 中搜索“Installatron Applications Installer”或某种应用安装程序 :) 在右上角的 installatron 应用安装程序屏幕中找到“应用程序浏览器”,从那里搜索 Laravel 并通过选择您的域来安装它(如果您有多个域)
安装后复制并用远程文件替换本地文件。
第二 第二种方式,.zip 本地 Laravel 文件夹。并将您的文件上传到您的服务器,然后提取文件。
现在两种方式都一样->
laravel 项目中的“public”目录将位于远程服务器的根目录中(域的根文件夹,如果您有例如 public_html/example.com 的附加域,则“public”文件夹应位于那个example.com)
创建另一个文件夹并将所有其他 Laravel 文件和文件夹放在该文件夹中。
打开并编辑/public/index.php 改变这两行->
require DIR.'/../vendor/autoload.php'; app = require_once DIR.'/../bootstrap/app.php';
反映服务器中的文件结构。 例如。如果“public”文件夹与“vendor”和“bootstrap”在同一目录下,删除/..
最后是 .htaccess 文件 您需要有两个 .htaccess 文件 像这样的“公共”目录内容中的一个->
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
第二个 .htaccess 文件将在具有内容的域的根文件夹中->
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
如果 php 版本问题表明 composer 依赖版本是 php7.xx bla bla
如果发生这种情况,请再次转到 cpanel 并搜索“选择 PHP 版本” 从那里更改您当前的 PHP 版本以适应您在错误中得到的 PHP 版本。您需要点击“设为当前”!
就是这样:)
答案 1 :(得分:0)
我认为您的文件夹结构之所以如此,是因为您的GoDaddy托管是Windows共享托管。
基本上需要做的是在主目录中为您的应用创建一个文件夹,然后在httpdocs上,将应用中的公用文件夹放入
。GoDaddy Plesk文件夹列表:
在httpdocs文件夹中:
完成后,您将需要编辑一些文件:
从公用文件夹:index.php
查找:
require __DIR__.'/../vendor/autoload.php';
更改为:
require __DIR__.'/../<laravel app folder>/vendor/autoload.php';
下一个查找:
$app = require_once __DIR__.'/../bootstrap/app.php';
更改为:
$app = require_once __DIR__.'/../<laravel app folder>/bootstrap/app.php';
此后,请确保正确配置了 .env 文件,并且将 local 数据库中的所有表都镜像到了 server 数据库中
此外,如果您遇到 open_dir 问题,则可以在 Plesk的PHP设置中将其禁用,但是我不确定这会导致什么问题运行。