Extension:MobileFrontend/Configuring browser auto-detection/ru

В этом документе объясняется, как администратор сайта может включить мобильный сайт для расширения своей mediawiki, так что, когда пользователь посещает сайт с мобильного устройства, он автоматически перенаправляется на мобильную версию, а не на десктопную.



Встроенное автоопределение
Начиная с 5a1867e, MobileFrontend поддерживает автоматическое обнаружение устройства с минимальной конфигурацией. Всё, что вам нужно сделать, это установить в свой LocalSettings.php. Хотя это самый простой способ, он почти наверняка будет наименее результативным. Это решение НЕ совместимо с фронт-энд кэшированием, так как он не позволяет вашему кешу знать разницу между мобильной и десктопной версий.

Apache Mobile Filter (AMF)
Начиная с 0fb2c72d, MobileFrontend поддерживает Apache Mobile Filter (AMF) для обнаружения устройства. Вы должны использовать веб-сервер Apache. Следуйте инструкциям по настройке AMF, и он должен "просто работать". Это очень похоже на встроенное автоматическое обнаружение и не будет совместимо с кэшированием фронт-энд без специальной настройки.

Webserver/proxy-cache device detection
Some reverse proxies (like ) can inform MediaWiki whether mobile version is needed or not, thus creating a cache-friendly autodetection.

Note: For Varnish 4.0 or later, replace the keyword remove with unset.

Detection using Varnish: mobile site on another domain
Suppose we use Varnish, and we want wiki.example.com to show desktop version, and m.wiki.example.com to show mobile version. Here is how to do that.

LocalSettings.php should contain the following:

If you have many wikis, it may be convenient to use syntax like:

Where "%h<#>" maps to a segment of the hostname of. So, if, %h0 is "en", %h1 is "wikipedia", %h2 is "org". Given this, the above will automatically interpolate your mobile URL as "en.m.wikipedia.org". This is particularly useful for the WMF and projects like Wikipedia, which follow a template of, so the mobile domain will always look like.

Detection using Varnish: same domain for desktop/mobile site
Suppose we use Varnish, and we want wiki.example.com to show desktop/mobile version on the very same URLs (without creating additional domains like "m.wiki.example.com", etc.). Here is how to do that.

LocalSettings.php should contain the following:

Otherwise MobileFrontend misbehaves (if we don't set $wgMobileUrlTemplate, it ignores X-Subdomain header, if we do, it doesn't set "useformat" cookies for "toggle Mobile view" links in the footer").

Detection using nginx: mobile site on another domain
Suppose we use nginx, and we want wiki.example.com to show desktop version, and m.wiki.example.com to show mobile version. Here's how to do that. This configuration mimics the behavior of WMF sites.

LocalSettings.php should contain the following: