Laravel共享主机中去除public路径访问路由的问题求助
Hostinger共享主机Laravel去掉public路径访问的解决方法
方法一:迁移public目录内容到网站根目录
- 将Laravel项目内
public目录下的所有文件、文件夹,全部移动到主机的public_html目录(若public_html原有内容,注意备份后覆盖)
- 将Laravel项目内
- 打开
public_html中的index.php,修改加载路径:
原代码:
修改为(替换require __DIR__.'/../vendor/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php';laravel项目文件夹名为实际的Laravel项目文件夹名称):require __DIR__.'/../laravel项目文件夹名/vendor/autoload.php'; $app = require_once __DIR__.'/../laravel项目文件夹名/bootstrap/app.php';- 打开
- 在
public_html目录下创建或替换.htaccess文件,使用Laravel默认的重写规则:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>- 在
- 调整权限:确保Laravel项目文件夹权限为
755,storage和bootstrap/cache目录权限设为775(权限异常可联系Hostinger客服)
- 调整权限:确保Laravel项目文件夹权限为
方法二:修改网站文档根目录(更高效)
- 登录Hostinger hPanel后台,进入
Domains菜单,点击对应域名的Manage
- 登录Hostinger hPanel后台,进入
- 切换到
Hosting Settings选项卡,找到Document Root设置项
- 切换到
- 将默认的
public_html替换为Laravel项目的public路径,例如/home/你的主机用户名/laravel项目文件夹/public(替换为实际路径)
- 将默认的
- 保存设置,等待1-2分钟生效,之后直接访问域名即可
内容的提问来源于stack exchange,提问作者Jason Batongbakal
相关产品推荐
相关产品推荐

