解决景安虚拟主机无法指定运行Public目录的问题~

背景

公司的托管在「景安」的一台服务器到期了,也不准备再续了,对于中小企业来说,托管机房的时代也算过去了,公司托管机房基本经历了[联通机房]、[二长机房]、[景安机房]和后来一直沿用的[工体机房],随着公司将业务迁移到「阿里云」「腾讯云」后,只剩下6台「DL380 G5」在杂物间吃灰,今年7月份最后一台托管于「景安」的服务器也即将到期,没办法也是吃灰的命。

基于更换到「腾讯云」、「阿里云」需要重新变更备案,有两个客户网站懒得重新备案,就在「景安」购置了两个虚拟主机,价格倒是很美丽,1年也就28元。

迁移过程

淘宝直接购买虚机就成了,一顿操作猛如虎,淘宝购买→登录后台→绑定域名→恢复web文件→恢复数据库,在准备设置「运行目录」为「Public」的时候发现,景安居然没有这一项。

Snipaste_2021-05-25_09-20-19.jpg


景安的虚机只有「Backup」 「LOG」 「WEB」三个目录,分别对应「备份」「日志」「网站主目录」,基于「laravel」开发的网站如果无法设置「Public」为运行目录,网站就无法运行。

实在不想56元打水漂,问题总的解决,就开始寻找办法。

解决问题

虚拟机不支持指定,根目录就是「Public」上级目录,如果想让「Public」作为网站根目录,那么「.htaccess」就是一个很好的解决办法,幸好景安还支持「伪静态」,果断开启「伪静态」功能。

在主机管理基本功能页面内,点击「伪静态」,点击开启即可开启伪静态功能。然后把您的伪静态规则.htaccess放入空间根目录WEB中,伪静态即可生效。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>

保存为「.htaccess」文件,上传至根目录,也就是「WEB」目录。

继续打开网站,完美解决。

结尾

善于使用搜索引擎,确实能解决不少问题,只是在查找资料过程中浪费了一些时间,此文章作为备份,以便以后进行解决。