我的问题是我的生产服务器和本地副本上的Laravel 5网站中的网址格式不同。
例如,我在网站代码中有下一行:
<img src="{!! asset('images/logo.png') !!}" alt="">
我在浏览器中看到以下内容:
<img src="https://site.loc/images/logo.png" alt="">
在生产服务器上,我看到以下内容:
<img src="images/logo.png" alt="">
我的制作设置有什么问题?我在共享主机上使用Apache。因此,如果可以使用.htaccess指令修复此错误 - 它会很棒,因为很难修复服务器在共享主机上的配置:添加或删除模块,你知道。
答案 0 :(得分:0)
我认为问题可能出在符号链接上。将代码从本地环境移动到生产环境时,需要在生产服务器上再次创建符号链接。
使用CLI运行命令php artisan storage:link
。
如果您没有使用c-panel进行CLI访问,则可以通过编程方式运行该命令。在routes / web.php文件中添加以下代码:
Route::get('/sym-link', function () {
Artisan::call('storage:link');
});
访问YOUR-DOMAIN / sym-link一次。
更多信息:https://laravel.com/docs/master/structure#the-storage-directory