微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当使用短url时,MediaWiki File没有findFile:example.jpg

我正在尝试使用Nginxbuild立一个wiki。

当我使用/wiki/File:image.jpg Nginx返回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; } }

如何通过使用curl / wget在Windows上的特殊导出方式导出维基百科文章名称

使用命令行将Mediawiki wikitext格式转换为HTML

Mediawiki身份validation与Windows域的凭据

如何将许多HTML文件转换成Windows上的Mediawiki页面

Apache – configurationmod_auth_sspi.so

如何在Windows上安装Mediawiki Parsoid

Mediawiki中的file upload错误1.22.3 – 无法创build目录“mwstore:// local-backend / local-public / 7/70”

安装PECL失败,raphf.so找不到

Mediawiki在subdirectory和SubDomain上

如何添加其他语言到TeX

将error_log级别更改为调试+添加重写日志。 就像是:

error_log /var/log/Nginx/error.log debug; rewrite_log on;

为了测试,请看这里: https : //gist.github.com/jmervine/8943627 – 有样品配置,允许您自动化测试。 有了完整的日志,你可以得到这个问题。

我有这样的东西:

2016/04/21 13:02:10 [debug] 7566#7566: *1 http script regex: "^/wiki/([^?]*)(?:?(.*))?" 2016/04/21 13:02:10 [notice] 7566#7566: *1 "^/wiki/([^?]*)(?:?(.*))?" matches "/wiki/File:test.jpg",client: 127.0.0.1,server:,request: "GET /wiki/File:test.jpg HTTP/1.1",host: "localhost" 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script copy: "/index.PHP" 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script args 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script copy: "title=" 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script capture: "File:test.jpg" 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script copy: "&" 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script capture: "" 2016/04/21 13:02:10 [debug] 7566#7566: *1 http script regex end 2016/04/21 13:02:10 [notice] 7566#7566: *1 rewritten data: "/index.PHP",args: "title=File:test.jpg&",server: _,host: "localhost"

看起来你的正则表达式可能会更好…今天晚些时候我会尽力找到更好的东西。

我改变了试图直接服务静态资源的正则表达式。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐