我需要在nginx配置文件中操作$ request_uri变量。 在PHP中,我会使用:
join('/', str_split($request_uri, 200))
如何在nginx配置语言中执行相同操作?
我有一个很长的网址。超过255个字符。 此URL的内容需要缓存在一个文件中,然后由nginx提供。 Linux不支持超过255个字符的文件名,除非我们投入了大量的工作。
我选择将URL的“路径+查询字符串”拆分为每个200字节的块,然后为每个块创建一个目录。最后,实际的HTML存储在路径的最后一个目录中的“index.html”中。
一个简化示例(为简单起见,拆分为4个字节)。此网址的内容:
example.com/somelongurl
将被放置在此文件中:
$CACHE_ROOT/some/long/url/index.html
我想直接从nginx提供这个文件 - 根本不使用PHP,Python或任何CGI。