使用文件时找不到MediaWiki文件:example.jpg使用短网址时

Jam*_*ick 5 mediawiki nginx

我正在尝试使用Nginx建立一个wiki.

当我使用/wiki/File:image.jpgNginx返回404.
当我使用/index.php?title=File:image.jpg它时,它正常工作.

server {
    listen 80;
    listen [::]:80 ipv6only=on;

    root /usr/share/nginx/mediawiki;
    index index.php index.html index.htm;

    ...

    location /wiki/ {
        index index.php;
        rewrite ^/wiki/([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;
    }

    location ~* /wiki/images/.*.(html|htm|shtml|php)$ {
        types { }
        default_type text/plain;
    }

    location ~* /wikiimages/ {
        try_files $uri /wiki/index.php;
    }

    location ~* \.(js|css|jpg|jpeg|png|gif|ico)$ {
        try_files $uri /wiki/index.php;
        expires max;
        log_not_found off;
    }

    location ~*\.php?$ {
        try_files $uri =404;
    #   # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        include fastcgi_params;
    }

    location /wiki/.*\.php?$ {
        try_files $uri =404;
    #   # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        include fastcgi_params;
    }
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*ick 0

我更改了尝试直接提供静态资源的正则表达式。

server {
    ...

    location ~* \.(js|css|gif|ico)$ {
        try_files $uri /wiki/index.php;
        expires max;
        log_not_found off;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)