主页:(应该是/或除 phpmyadmin 和其他文件夹之外的任何内容……)

location ~ (?!phpmyadmin|smf|zDev|DiscordCommunicator|wordpress|Monitor|announcements) {
#...
}

fastcgi 页面(应该以/和 phpmyadmin 或任何其他文件夹开头):

location ~ (?:phpmyadmin|smf|zDev|DiscordCommunicator|wordpress|Monitor|announcements)\/[a-zA-Z0-9]+\.php {
#...
}

特殊页面(可以是任何 js 文件或 html 或….):

location = (?:phpmyadmin|smf|zDev|DiscordCommunicator|wordpress|Monitor|announcements)\/([a-zA-Z0-9]+\.(?:js|mhtml|htm?l|css|png|gif|jpg:jpeg:xml|ico|map|webp|svg|woff|woff2|ttf|ttc|otf|eot|mp3|m4a|aac|ogg|midi|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv))$ {
#...
}

主 fastcgi 页面(应为/带有 phpmyadmin 或任何其他文件夹):

location = (?:phpmyadmin|smf|zDev|DiscordCommunicator|wordpress|Monitor|announcements)(?:\/$|$) {
#...
}

我正在尝试管理 NGINX 位置块上的路径正则表达式……任何页面或目录始终指向主页,而不考虑任何其他位置块……(例如,phpmyadmin/index.php被忽略,而使用/位置块代替)这些正则表达式在 regexr 等正则表达式网站上的工作方式与 charm 类似,但不适用于 NGINX,我不知道为什么

4

  • 请说明您的具体问题或提供更多详细信息以准确突出您的需求。根据目前的写法,很难准确说出您要求的是什么。


    – 

    机器人

  • 我正在尝试使用我的 NGINX 为我的 ExpressJS 和 FastCGI 创建一些路由…第一条路由是主页,第二条路由是通用的 FastCGI 路由,第三条路由是专用于路由静态文件(如 jpg 和 js 文件)的特殊页面,第四页是主 FastCGI 页面…当我尝试从上述路由打开任何页面时,它都会被静默重定向到 ExpressJS 的主页,这似乎是位置块的正则表达式的问题


    – 

  • 您尝试的结果类似于,$ find /{var,lib,bin,usr} -maxdepth 0将产生匹配文件夹的列表/var,例如/lib,,,对于我的示例。这样的结果真的适合您的情况吗?/bin/usr


    – 


  • 是的……你明白我想做什么


    – 


0