【问题标题】:Unable to see some pages after laravel deployed into shared hostinglaravel 部署到共享主机后看不到某些页面
【发布时间】:2019-10-25 06:46:48
【问题描述】:

在共享主机中成功部署了我的 laravel 应用程序。 好吧,我也可以在服务器中看到一些页面。 但在服务器上看不到某些页面,但在本地主机上可以看到。

我尝试了许多可用的解决方案.. 但无法修复它。 domain.com/admin/home 可以在服务器上查看。 但是 domain.com/admin/postjob 在服务器上有 500 错误,但在本地主机上工作正常。

将laravel文件夹复制到root下,将laravel/public的内容复制到public_html/

让我们先检查路线。

//Admins Index Page
Route::get('/admin/home', 'admin\AdmhomeController@index')->name('admin.home');
//Job Posting by Admin - View
Route::get('/admin/postjob', 'JobsController@pjbyadm')->name('admin.postjob');

让我们看看控制器 - JobsController

//Post Job by Admin 
public function pjbyadm(Request $request){
$auth = Auth::guard('admin');
if ($auth->check()){
//return view('admin.CRjob_ajob'); tried this first
return \view('admin.CRjob_ajob');
}
else {
return redirect('/mikeadmin');
}

视图的文件夹结构 资源 --> 管理员 --> CRjob_ajob

public_html 文件夹中的.htaccess 文件如下所示。

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php71” package as the default “PHP” programming language.
<IfModule mime_module>
  AddType application/x-httpd-ea-php71 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
Options +FollowSymLinks -Indexes
RewriteEngine On

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

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

服务器php文件有

//require_once __DIR__.'/public/index.php';
require_once __DIR__.'../public_html/index.php';

使用 laravel 5.8 版本。

预计会看到页面 admin/postjob,它在本地主机上运行良好。

【问题讨论】:

    标签: laravel .htaccess routes laravel-5.8


    【解决方案1】:

    尝试在上传到服务器之前运行php artisan cache:clear,然后重新上传,或者另一种解决方案是将其添加到您的路由中

    Route::get('/clear-cache', function() {
        Artisan::call('cache:clear');
        return "Cache cleared";
    });
    

    然后调用 domain.com/clear-cache

    【讨论】:

    • 是的,Matius,我确实试过了。但我仍然面临同样的问题。在作业控制器中,我在返回视图之前保留了要显示的消息并成功执行,这表明问题可能出在该返回语句中。如果我们认为刀片有问题,它在本地主机上工作正常。如果我们只是想在服务器上是否需要其他任何东西,请告诉我。真奇怪。 domain.com/admin/home 执行良好,但 domain.com/admin/postjob.我认为命名约定可能有问题,所以我从 admin.CRjob-ajob 更改为 admin.CRjob_ajob。
    • 你能发布你的刀片视图吗?或者您可以打开调试模式以便更轻松地检查问题
    • 感谢调试模式建议,我启用了它,发现字母大小写不匹配存在问题。所以我更正了,很高兴向你说声谢谢。
    猜你喜欢
    • 2019-09-25
    • 2018-12-02
    • 2020-02-24
    • 1970-01-01
    • 2018-06-05
    • 2020-02-07
    • 2020-11-14
    • 2020-09-30
    • 1970-01-01
    相关资源
    最近更新 更多