我在$ uri中有一个带有语言前缀的网站,例如:
可悲的是,由于我使用的框架的限制,文件也被链接/寻找在前缀地址下:
我想让我的nginx做的是按以下顺序尝试文件:
$uri原样 /files/image.png (即使en或ru或任何其他双字母代码存在) /index.php文件生成,如果适用 1.和3.可以用简单的方式完成:
location / { try_files $uri /index.php; }
我知道〜*命令告诉Nginx做一个正则expression式匹配( 源 )。 可悲的是,我不知道如何制定匹配来省略潜在的组,而不是select它。 并尝试与variables之前和之后让我尝试使用, if – 当然,我想避免这一点。
我相信我错过了一些相对简单的事情。
假设语言部分是一个两个小写字符的string,这可以通过以下方式实现:
location ~ "^(?:/[az]{2})?/(.*)$" { try_files /$1 /index.php; }