Laravel 实时项目的路由功能无法正常工作....为什么?

Laravel live project's route functionality is not working properly .... why?

我有一个子域名http://206.217.128.227/~obts/ . I hosted my laravel project on this subdomain . This domain's cpanel structer is

当我点击任何 href 属性 时,url 是 http://206.217.128.227/something 但后来我有 404 错误。但是,如果我手动输入 url http://206.217.128.227/~obts/something,那么我会得到正确的页面。 我已将 public 文件夹的内容粘贴到 public_html 文件夹中。以及 laravel 文件夹中项目的所有其他内容。 我将 index.php 文件修改为

require __DIR__.'/../laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';

我手动添加了 paths.php 文件并将 'public' 属性 修改为

'public' => __DIR__.'/../public_html',

我的 .env 文件是

APP_ENV=local
APP_DEBUG=true
APP_KEY=something
APP_URL=http://206.217.128.227/

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=obts_data
DB_USERNAME=obts_admin
DB_PASSWORD=password

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

现在我做错了什么?

我已经在评论中回答了这个问题。这篇小文章将总结所问的内容和错误的地方。

问题: OP 报告说他建立了一个新的 L5.2 项目,其中他的 "views" 文件夹在他的 L5.2 项目结构之外(如下图)。他修改了 index.php 文件以包含此 new view path。然而,他的 http://206.217.128.227/something 类型的 URL 不起作用,而 http://206.217.128.227/~obts/something 类型的 URL 工作正常。

回答:这里的问题是他生成的URL在路径中不包含~obts,因此L5。 2 报告错误。很容易修复。

不过,我想在这里提出几点建议:

  1. 切勿在您的问题或帖子中显示 密码。虽然这里不相关,因为 env 文件是针对本地主机的,但仍然不要把我们不需要知道的东西放在一起。
  2. 通过编辑 index.php 文件来包含 public_html 文件夹的方式不推荐。更新 L5.2 时会发生什么。这些文件很可能会被覆盖。正确的方法是编辑 larave/config/view.php 文件并更改 paths 数组。
  3. 不要在您的网址中使用不安全字符,例如~obts 包含不安全字符 ~。请参阅此 article 了解哪些字符是安全的。