亲测配置流程,如有错误欢迎指正^^

支持3级别目录安装htdoc/laravel/public
使用虚拟主机可以搭建多个独立网站

文件迁移

将laravel的整体目录上传至服务器htdoc目录下。共计7000多个文件,主要是vendor目录非常大,包含了laravel框架所需要的各种依赖包。

数据库迁移

这里我采用的是常规办法,将mysql表中的数据和结构直接导出,然后通过万网的DMS导入到数据库中。

mysqldump -u laravel> laravel.sql

记得要修改.env文件,和app/database.php文件,这里我修改.env文件的时候,数据库的配置没有生效,所以我修改的是database.php 文件。

目录重写

重写之后laravel/public目录会被隐藏

由于我们的入口不是在根目录/htdoc下,所以我们要进行重写,这里有三层目录/larave/public/分别是/laravelpublic

  1. 首先我们将指定域名www.osinger.com的请求都转发到/laravel/public/index.php上。

  2. 将所有的静态资源,包括js和css以及字体都重写到laravel/public目录下

  3. 删掉public目录下的.htaccess

下面是.htaccess文件的内容,要放到根目录下。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
重写所有的静态资源,记住这个规则组要放到上面
RewriteCond %{HTTP_HOST} ^www\.osinger\.com$ [NC]
RewriteCond %{REQUEST_URI} ^(.*(\.css|\.js|\.woff2|\.woff|\.ttf))$
L:最后一条规则 QSA:追加请求串(query string append)
RewriteRule ^(.*)$ laravel/public/$1 [L,QSA]

重写php请求
NC :不区分大小写
RewriteCond %{HTTP_HOST} ^www\.osinger\.com$ [NC]如果当前的uri是laravel/public的话,直接就结束匹配
RewriteCond %{REQUEST_URI} !^/laravel/public
RewriteRule ^(.*)$ laravel/public/index.php?$1 [L,QSA]

</IfModule>

laravel目录下,还有一个.htaccess ,这个文件不需要修改,保持不变。


jaysun
507 声望25 粉丝

Code is law