Jump to content
MediaWiki

Manual:thumb_handler.php

From mediawiki.org
MediaWiki file: thumb_handler.php
Location: /
Source code: master1.43.01.42.51.39.11
Classes: Find codeFind documentation

Description

[edit ]

thumb_handler.php is a script to be used to automatically resize images from a 404 handler. For example, when a browser requests a thumbnail that has not been created before.

To use it, follow the steps below, then set $wgGenerateThumbnailOnParse to false. If you have $wgLocalFileRepo defined in LocalSettings.php, then you need to also set:

$wgLocalFileRepo['transformVia404'] = true;

Server configuration

[edit ]
The configuration below assumes you don't have custom file repos (at least $wgLocalFileRepo ) configured manually. In that case, you will need to adjust the path of rewrite rules according to $wgLocalFileRepo['hashLevels'] and $wgLocalFileRepo['deletedHashLevels'].

Apache

[edit ]

Create a rewrite rule to call thumb_handler.php when a file in $wgUploadPath /thumb/ doesn't exist. If your wiki is in the /w directory, something like this should work for Apache:

If $wgHashedUploadDirectory is set to true:

RewriteEngineon
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/[^/]+/[^/]+$/w/thumb_handler.php[L,QSA]
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/[^/]+/[^/]+$/w/thumb_handler.php[L,QSA]

If $wgHashedUploadDirectory is set to false:

RewriteEngineon
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule^/?w/images/thumb/[^/]+/[^/]+$/w/thumb_handler.php[L,QSA]
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule^/?w/images/thumb/archive/[^/]+/[^/]+$/w/thumb_handler.php[L,QSA]

nginx

[edit ]
location/w/images{
# Separate location for images/ so .php execution won't apply
location~^/w/images/thumb/(archive/)?[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/[^/]*([0-9]+)px-.*${
# Thumbnail handler for MediaWiki
# This location only matches on a thumbnail's url
# If the file does not exist we use @thumb to run the thumb.php script
try_files$uri$uri/@thumb;
}
}
# Thumbnail 404 handler, only called by try_files when a thumbnail does not exist
location@thumb{
# Do a rewrite here so that thumb.php gets the correct arguments
rewrite^/w/images/thumb/([0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/[^/]*([0-9]+)px-.*)$/w/thumb_handler.php/1ドル;
rewrite^/w/images/thumb/(archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/[^/]*([0-9]+)px-.*)$/w/thumb_handler.php/1ドル;
}

See also

[edit ]

AltStyle によって変換されたページ (->オリジナル) /