如何在Laravel Valet中实现资源URL重写适配Symfony项目?
在Laravel Valet中实现资源URL重写的方法
要解决Symfony项目资源路径的重写问题,你需要按照Valet的自定义配置规则添加Nginx重写规则,具体步骤如下:
确保Symfony站点正确链接到Valet
先确认你的Symfony项目已通过Valet链接,且指向Symfony的public目录(Symfony的Web根目录):cd /path/to/your/symfony-project valet link your-site-name --public public创建自定义Nginx配置目录
在项目根目录下创建Valet/Nginx文件夹,Valet会自动加载该目录下的所有配置文件:mkdir -p Valet/Nginx添加重写规则配置
在Valet/Nginx目录下新建配置文件(比如rewrite-rules.conf),写入适配你场景的重写规则:- 若需将
/build/*的请求重定向到/[subdir]/build/*(匹配资源实际存放路径):location /build { rewrite ^/build(.*)$ /[subdir]/build$1 last; } - 若要和同事Docker中的规则一致(将
/[subdir]/*的请求重写为/*):location /[subdir] { rewrite ^/[subdir](.*)$ /$1 last; }
注意将
[subdir]替换为项目中实际的子目录名称(比如assets)。- 若需将
重启Valet生效配置
执行命令重启Valet,让新配置生效:valet restart
完成后,Valet会按照定义的规则处理资源请求,解决404问题。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

