nginx 将子目录路径作为参数

nginx 将子目录路径作为参数

我想将子目录路径作为参数。例如:

http://www.example.com/whatever

实际指向:

http://www.example.com/?arg=whatever

但仍然显示为原始请求URL。

文件路径应该做同样的事情:

http://www.example.com/whatever/image.png

实际指向:

http://www.example.com/?arg=whatever/image.png

我对 nginx 不是很熟悉,我还没有找到或能够创建我想要的东西。到目前为止,我取得的最大进展是以下内容:

location ~ /(?<anydirectsubdirectory>[^/]+) {
    try_files $uri $uri/ /index.php?project=$anydirectsubdirectory;
}

但这只给了我第一个目录,我不知道或找不到任何可以解释其作用的东西,所以如果你有一个可以解释其作用的链接,那将会对我有所帮助。

答案1

呃,我可能完全忽略了有史以来最简单的解决方案:

location / {
    try_files $uri $uri/ /index.php?project=$request_uri;
}

如果这不是恰当的方式,请随意回答!我喜欢干净的东西。

相关内容