亲测配置流程,如有错误欢迎指正^^
支持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/
分别是/
、laravel
、public
首先我们将指定域名
www.osinger.com
的请求都转发到/laravel/public/index.php
上。将所有的静态资源,包括js和css以及字体都重写到
laravel/public
目录下删掉
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
,这个文件不需要修改,保持不变。