Laravel live project的路由功能无法正常工作....为什么?

时间:2016-04-03 14:27:35

标签: php subdomain web-hosting laravel-5.2

我有一个子域名http://206.217.128.227/~obts/。我在这个子域上托管了我的laravel项目。该域名的cpanel structer是cpanels folder structures

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

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

我手动添加了paths.php文件并修改了公共'财产

'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

我现在做错了什么?

1 个答案:

答案 0 :(得分:1)

我在评论中已经回答了这个问题。这篇小文将总结被问及的错误。

问题: OP报告他设置了一个新的L5.2项目,其“views”文件夹位于他的L5.2项目结构之外(如下图所示)。他修改了index.php文件以包含此new view path。但是,http://206.217.128.227/something类型的网址无效,而http://206.217.128.227/~obts/something类型的网址工作正常。

答案:此处的问题是,他生成的网址在路径中不包含~obts,因此L5.2报告错误。很容易解决。

但是,我想在此提出一些建议:

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