首页 > 解决方案 > Laravel Valet nginx 位置正则表达式在 Mac Catalina 上不起作用

问题描述

我正在使用 Laravel Valet,但是当添加一些在 forge Linux 服务器上完美运行的正则表达式位置时,不适用于 MacOS。它不会给出任何错误,只是不会加载任何正确的 css。正则表达式用于 css/js 版本控制。请参见下面的代码:

location ~* (.+)\.(?:\d+)\.(css|js|gif|png|jpg|jpeg)$ {
    try_files $uri $1.$2;
}

之前添加的

location / {
    rewrite ^ "/Users/home/.composer/vendor/laravel/valet/server.php" last;
}

在 valet.conf 文件中

标签: regexnginxnginx-locationlaravel-valet

解决方案


通过使用自定义 Valet Driver解决,它只是 php,您可以使用它来处理传入的请求并返回所需的 url 或响应。在这种情况下,我在项目根文件夹中创建了一个 LocalValetDriver 并在isStaticFile函数中跳过文件名的数字部分,只需记住在服务器函数上返回 true以便使用您的自定义驱动程序。

有关自定义驱动程序的更多信息,请随时在此处访问 Valet 的文档


推荐阅读