谷歌云VM部署Laravel项目:移除URL中的public(无需修改.htaccess)
谷歌云VM部署Laravel移除URL中public的方案(无需修改.htaccess)
针对你遇到的问题,这里有几个不用改.htaccess的解决办法:
1. 直接修改Web服务器根目录指向public文件夹
这是最适合生产环境的方案,不管用Apache还是Nginx,直接把站点的根目录改成Laravel项目的public文件夹即可:
- Apache:找到站点配置文件(通常在
/etc/apache2/sites-available/你的站点.conf),把DocumentRoot的值替换为/你的Laravel项目路径/public,修改完成后重启Apache:sudo systemctl restart apache2 - Nginx:打开站点配置文件(比如
/etc/nginx/sites-available/你的站点.conf),把root字段的值换成/你的Laravel项目路径/public,随后重启Nginx:sudo systemctl restart nginx
2. 用Laravel自带的Artisan服务器(仅限测试/开发场景)
如果只是临时测试,不想改动Web服务器配置,可以直接用Laravel自带的命令启动服务,默认访问就不需要加public:
php artisan serve --host=0.0.0.0 --port=80
注意:这个方法性能有限,不适合正式生产环境。
3. 创建软链接映射到public目录
如果不想修改Web服务器配置,也可以在Web服务器的默认根目录下创建软链接,指向Laravel的public文件夹。比如默认根目录是/var/www/html:
sudo rm -rf /var/www/html sudo ln -s /你的Laravel项目路径/public /var/www/html
这样访问域名时就会自动指向public目录,无需在URL里添加public路径。
内容的提问来源于stack exchange,提问作者Vinod
相关产品推荐
相关产品推荐

