Manual:Short URL/ru

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

Цели
В последующих примерах подразумевается, что путь установки MediaWiki выглядит следующим образом:
 * (installed as root user)
 * (installed with a shared hosting provider)

Также, предполагается, что веб-адрес MediaWiki выглядит так:
 * (recent versions of MediaWiki, without CGI support)
 * (recent versions of MediaWiki, with CGI support)

Используя методы, описанные ниже, длинный веб-адрес может быть преобразован в короткий, такой как эти:
 * This is the most common configuration, same as in Wikipedia, though not the default because it requires server side modifications
 * (not recommended! see below)
 * (not recommended! see below)
 * (not recommended! see below)
 * (not recommended! see below)

Having the page name right in the root of the domain name is not recommended, because it will conflict with files and directories located at the root directory. For example, if you have your images in the /images/ directory, you wouldn't be able to access a page named "Images" in your wiki.

Advantages & disadvantages

 * Advantage: short URLs hide all technical details, as is best practice for URLs – among other things this means they can be kept stable when the underlying software changes. They are also easier to read, remember, and manipulate for visitors. also, short URLs are better than default one to SEO because URLs includes  is minus to SEO.
 * Disadvantage: requires configuration, so, depending on the hosting environment you are using, it might be difficult to recreate. However, as every widely used webserver is capable of being configured to use short urls, practically every paid web host should support this feature. Any host that doesn't offer you this feature is not worth your money.

Guides
Our official guides for short URL configuration for different web servers. Pick your webserver's configuration from this list. If you don't know what server software you are using, then it is most likely Apache



Другие методы: мини-руководства

 * These guides are old and are almost entirely bad advice. These will eventually be deleted one by one as our official guides above are created for different webservers.

Anyone is welcome to create a how-to solution page and list it below. Пожалуйста, используйте простое и понятное всем название вашего руководства! When each unique solution has its own page, readers can skip complexity they do not want. Keep it simple, readable, short, with a separate page per separate solution.

To help others find out which Short URL methods really work, after trying each method please edit the page and increase the "worked" or "didn't_work" numbers for that guide and make a brief (or long, your choice) description on what went wrong by clicking the link on your number.

example.com/Название_страницы
Actions such as edit, view history, etc. will still have index.php unless $wgActionPaths are defined.

Администраторский доступ

Для использования этих методов необходимы права администратора. If you are on a shared host, you most likely don't. Если вы размещаете ваш проект на виртуальном хостинге, используйте руководства, для которых не требуются права администратора. You can jump directly to the MediaWiki ShortURL Builder tool and follow the on screen instructions after clicking on "I don't have root access".

(for Apache guidance, see the link in the Guides section).

example.com/wiki/Название_страницы
Создание веб-адреса, вида: example.com/wiki/Название_страницы

wiki.example.com/Название_страницы
Создание веб-адреса, вида: wiki.example.com/Page_title

Проблемы с амперсандом (&)
Объяснение: Эта проблема проявляется, когда у вас есть названия страниц с символами (например, &,?, #, + и /), которые, несмотря на правильное кодирование ссылки не правильно передается от mod_rewrite к скрипту. Это проявляется ошибкой 404 «Страница не найдена», потому что из заголовка вырезает особый символ, т.е. щелчок по ссылки "Джон & Мария" даст 404, потому MediaWiki ищет страницу с именем "Джон ".

This is because ampersands in long-form names are treated as query string separators, and would never reach the PHP runtime environment. Проблема с амперсандом является старым и проблематичным багом mod_rewrite.

Решения:

This issue is caused by the  portion of rewrite rules like   which is completely unnecessary and harmful. MediaWiki parses paths directly from the REQUEST_URI so rewrite everything to /index.php.

No Skins
With Ubuntu 8.10 and MediaWiki 1.11.2 (and maybe later versions) if you use the MediaWiki sanctioned directions your skins may fail to load. To fix this, create a symbolic link in /var/www pointing to /var/lib/mediawiki with the value of $wgScriptPath in LocalSettings.php. If, for example, $wgScriptPath is set to "/w" then you need to run the command "sudo ln -s /var/lib/mediawiki /var/www/w".

Alternatively, try setting $wgLoadScript to the original file. If you source url is /wiki with the short url /w, set it to /wiki/load.php.

Purging cache
If you notice that your changes to  in LocalSettings.php are not being reflected in mysite.com/wiki/Main_Page, it may be due MediaWiki's caching of the links according to previous settings.

Go to mysite.com/wiki/Main_Page?action=purge to force MediaWiki to regenerate the cached links.

Also you can:
 * 1) execute the MySQL query "TRUNCATE objectcache;", or
 * 2) Ensure  is updated (if  is enabled all you have to do is edit LocalSettings.php to purge it)

Redirect visitor of your domain to your wiki
Our official guides for short url configuration include recommendations on how to point the root of your site to your wiki using your short url config.

For example our Apache guide recommends using this to point your site root to your wiki:

Note that we do not recommend doing a HTTP redirect to your wiki path or main page directly. As redirecting to the main page directly will hard-code variable parts of your wiki's page setup into your server config. And redirecting to the wiki path will result in two redirects. Simply rewrite the root path to MediaWiki and it will take care of the 301 redirect to the main page itself.

If using VirtualHosts, place the rewrite rules into the virtual host declaration!

Moving a wiki from /wiki to /w
A common beginner's mistake is to install MediaWiki itself (the source code, not the short url) in  instead of. Once installed they would realize the mistake when trying to configure Short URLs (which would become difficult as the virtual path then conflicts with the real path).

There is a manual for moving a wiki in general, however that is too complicated if all you need is to change the installation directory (and stay on the same server, same database and same hostname).

Here is what you have to do:


 * Backup  and any other config files you may have created (such as your  ).
 * Rename the installation directory of MediaWiki on your server from  to.
 * Set  in   to   and remove (or comment out) any definition of   (this variable will be changed again when setting up Short URLs, further on)
 * At this point your wiki should be working normally at
 * Now go through the regular guide to set up short URLs
 * Perform a few tests on your wiki to make sure nothing is broken. Edit a page, visit a few different pages, etc. If anything seems abnormal, revert the changes by restoring your backup of  and other relevant files you might have changed during configuration of short URLs and rename your folder back to.

Note for shared hosting users: Many shared hosting plans offer an application manager to automatically Install, Update and Backup applications such as MediaWiki. If your plan has this and if you want to keep using these features, you should contact their tech support and let them know you just manually changed your MediaWiki installation directory.

См. также

 * Explanation of what CGI modules are
 * Конфигурационная настройка MediaWiki: Manual:$wgUsePathInfo — Следует ли использовать 'красивые' URL?
 * Notes on placing your wiki installation in site root directory
 * $wgActionPaths - configuration setting that you can use to define 'pretty' URLs for other actions, like edit or history
 * Clean up URLs RFC - proposes "cleaner URLs for editing, previewing skins, etc."

Внешние ссылки

 * Apache Module mod_rewrite at Apache.org
 * MediaWiki Short URL Builder Tool - A tool that can automatically generate short url configuration more reliable than the configurations in these manual pages.