问题描述
在新安装的bagisto(laravel电子商务应用程序)上,当我使用CMS并将新徽标上传到频道时,它将其添加到符号链接中,并且一切都正确显示在公共目录中。
在我的情况下,路线是:
https::/muskysmokers.com/storage/channel/1/zr6008b99hkwbr9HvINfYxt90wha3XY9fZtVRPQa.png
当我检查公共目录时,符号链接有效并且文件在那里。那里没有问题。如果我转到该URL,则图像会正确加载。
这是问题所在: 当它在浏览器中呈现时,浏览器(chrome和Firefox)在浏览器中以某种方式将域添加到它的开头。因此它像这样在DOM中读取:
https://muskysmokers.com/http::/muskysmokers.com/storage/channel/1/zr6008b99hkwbr9HvINfYxt90wha3XY9fZtVRPQa.png
请注意,该域被打印两次(一次使用SSL,一次不使用)。我一生无法弄清楚我在这里做错了什么。在firefox中,它打印IP地址而不是域。
如何查看自己的情况? 转到muskysmokers.com>检查徽标上的元素(左上方-图像丢失)。您会看到正确列出的路线,但将其悬停在该路线上或在新标签页中打开链接,并且地址错误。
我已经更改了APP_URL并取消了链接并重新链接了存储目录,但是行为仍然相同。谁能帮助我了解导致该URL打印两次的原因?
与我的.conf文件有关吗?
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName muskysmokers.com
ServerAlias www.muskysmokers.com
DocumentRoot /var/www/muskysmokers.com/bagisto-standard/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.muskysmokers.com [OR]
RewriteCond %{SERVER_NAME} =muskysmokers.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
解决方法
确定我的SFTP无法正常工作后,我使用以下APP_URL值对其进行了测试,并且这是可行的:
APP_URL=https://www.example.com
APP_URL=
无效的是:
APP_URL=http://localhost
APP_URL=http://localhost/mydirectory/public
APP_URL=http://www.example.com
我在LAMP堆栈上,并且我的.conf文件一直指向我的公共目录,因此无需在这里指向我的公共文件夹是有意义的。事实证明,因为当服务器将所有内容都重定向到HTTPS时,我没有指向HTTPS,所以它崩溃了。希望对别人有帮助!