【问题标题】:Laravel url parameter returning 404 once hostedLaravel url 参数在托管后返回 404
【发布时间】:2017-03-04 03:22:08
【问题描述】:

我正在开发一个 Laravel 网站。在本地主机上一切正常。但是一旦使用 1&1 在线托管,当我在路由中添加参数时,它会返回错误 404(未找到)。

在 1&1 中,根 url 重定向到我的 laravel 项目的“public”文件。

这个公共文件中的 .htaccess 看起来像这样:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

有人知道可能是什么问题吗?

【问题讨论】:

  • 检查您的文件权限
  • 授予存储目录的权限。你也可以参考这个链接medium.com/laravel-news/…
  • 我将存储文件夹的权限设置为 777,但并没有解决问题。我们真的需要做这个链接中描述的所有东西来为生产设置一个 laravel 项目吗?我什么都没做,我什至不明白......
  • 您在使用 cPanel 吗?有一个在 cPanel 上设置 Laravel 的简单指南。也不应该真正将 777 权限用于任何东西,尤其是存储。
  • 什么是cPanel?我在终端上用 ssh 完成了

标签: php .htaccess laravel laravel-5


【解决方案1】:

尝试在您的主机上运行以下工匠命令:

php artisan optimize
php artisan route:clear

如果您无权运行这些命令,可以使用 Artisan::call('optimize') 等在代码中调用它们。

【讨论】:

  • 两个命令都返回了这个错误:$ php artisan optimize X-Powered-By: PHP/4.4.9 Content-type: text/html
    警告:输入中的意外字符:/homepages/27/d591094540/htdocs/fabiencohen/artisan 中的“\” (ASCII=92) state=1,第 31

    解析错误:语法错误,第 31 行的 /homepages/27/d591094540/htdocs/fabiencohen/artisan 中出现意外的 T_STRING
猜你喜欢
  • 2015-06-12
  • 2013-07-15
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 2012-11-15
  • 1970-01-01
相关资源
最近更新 更多