如何在Laravel 9框架中移除URL中的public路径
如何在Laravel 9中移除URL里的public路径?
嘿,这个问题我刚处理过没多久,用Apache的URL重写规则就能完美解决,不用折腾框架内部配置,步骤很简单:
- 首先在你的Laravel项目根目录下创建(如果没有的话)一个
.htaccess文件 - 将下面的重写规则复制进去:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} !^public RewriteRule ^(.*)$ public/$1 [L] </IfModule>
简单解释下这段规则的作用:
RewriteEngine on:开启Apache的URL重写功能RewriteCond %{REQUEST_URI} !^public:判断当前请求的路径不是以public开头的,才会执行下面的规则RewriteRule ^(.*)$ public/$1 [L]:把所有请求转发到public目录下的对应资源,[L]标记表示这是最后一条规则,匹配到后就停止后续的规则处理
另外要注意两个点:
- 确保你的Apache服务器已经启用了
mod_rewrite模块,不然这段规则不会生效 - 如果是在共享主机环境,可能需要确认主机服务商允许使用
.htaccess配置URL重写
内容的提问来源于stack exchange,提问作者Programming Evolution
相关产品推荐
相关产品推荐

