加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

Nginx conf中的短路逻辑(想覆盖一个位置)

发布时间:2020-12-13 20:53:04 所属栏目:Nginx 来源:网络整理
导读:我安装了mediawiki.一切正常,除了我尝试为外部目录命名(Webalizer Web统计信息)时.我看到Nginx将请求传递给/ usage / *到PHP / Mediawiki.我不要我真的希望/ usage /下的所有内容都指向我的别名,而没有别的.与Mediawiki代码和功能完全分开. # in no way rela

我安装了mediawiki.一切正常,除了我尝试为外部目录命名(Webalizer Web统计信息)时.我看到Nginx将请求传递给/ usage / *到PHP / Mediawiki.我不要我真的希望/ usage /下的所有内容都指向我的别名,而没有别的.与Mediawiki代码和功能完全分开.

# in no way related to Mediawiki. I just want to serve this as static HTML.
location /usage {
    alias /var/www/webalizer/wiki.longnow.org/;
}

# This answers to anything,which may be my problem
location / {
    try_files $uri $uri/ @rewrite;
    index index.php;
}

# A special rewrite to play nicely with Mediawiki
location @rewrite {
    rewrite ^/(.*)$/index.php?title=$1&$args;
}

# PHP,nom nom nom
location ~ .php${
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_pass unix:/tmp/php-fastcgi.socket;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

我希望在其余命令之前列出/ usage location指令会使系统短路,但我对Django颇为宠爱;)

最佳答案
为了阻止Nginx处理进一步的位置指令,它应该以^?为前缀.
我认为您仍然希望try_files退回到该位置内的404响应.

location ^~ /usage {
    alias /var/www/webalizer/wiki.longnow.org/;
    try_files $uri $uri/ =404;    
}

参考http://wiki.nginx.org/HttpCoreModule#location.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读