Manual:Short URL/ru
From MediaWiki.org
This page is in progress of translating to Russian. You can help translating it or go to another language version that follows:
Эта страница в процессе перевода на русский язык. Вы можете помочь в переводе или перейти на другие языковые версии, указанные ниже:
Использование короткого веб-адреса, скрывающего сложный программный код, поможет посетителям вашего сайта легко запомнить принцип построения ссылки на нужную страницу. Во избежании проблем в будущем, рекомендуется настроить короткий веб-адрес вашего сайта в самом начале работы. Для улучшения подачи информации, эта страница разделена на отдельные мини-руководства.
В последующих примерах подразумевается, что путь установки MediaWiki выглядит следующим образом:
/var/www/localhost/htdocs/mediawiki(установка из под администратора)/home/johndoe/public_html/mediawiki(при использовании виртуального хостинга)
Также, предполагается, что веб-адрес MediaWiki выглядит так:
http://example.com/wiki/index.php/Название_страницы(для версии 1.11.0) илиhttp://example.com/wiki/index.php?title=Название_страницы
Используя методы, описанные ниже, длинный веб-адрес может быть преобразован в короткий, такой как эти:
http://example.com/Название_страницыhttp://example.com/wiki/Название_страницыhttp://wiki.example.com/Название_страницы
Contents |
[edit] А что не так с длинным веб-адресом?
Ответ: ничего. Более того, только длинная форма ссылок будет работать при любых условиях -- хорошая возможность перестраховаться, если вдруг вам придётся перенести ваш вики-проект на хостинг, не поддерживающий короткие веб-адреса.
Однако, большинству пользователей рекомендуется пожертвовать некоторой долей переносимости инсталляции, ради более красивого и опрятного вида веб-адреса.
[edit] Принудительное использование длинных ссылок
На всякий случай - способ вернуть всё назад:
$wgUsePathInfo=false; $wgScriptPath=""; #принудительно использовать длинный вид ссылок
[edit] Виртуальный хостинг
Большинство систем виртуального хостинга не позволяют изменять httpd.conf. Поэтому, если ваш сайт находится на виртуальном хостинге, обратитесь в техподдержку компании, предоставляющей вам услуги хостинга. Если же и там не помогут, то для получения желаемого результата вам придётся изменять файл .htaccess
Однако, если же файл httpd.conf доступен для редактирования (что подразумевает наличие прав администратора), то следует выбрать метод именно с его использованием, так как это лучше отразится на производительности сайта[1]. Обратите внимание, необходимо отредактировать или .htaccess или httpd.conf - только один из них!
[edit] Рекомендованный метод (стиль Википедии)
Следующий метод используется в Википедии - он эффективен и довольно прост для использования, однако, при этом требуются права администратора.
[edit] Особенности
- Этот метод надёжен и гарантированно работает на всех версиях MediaWiki. Другие методы не тестировались разработчиками MediaWiki и могут не работать при будущих изменениях в программном коде.
- You should not rewrite articles to be in the document root. URLs like
http://wiki.mysite.com/Article_titlemay look prettier to you thanhttp://www.mysite.com/wiki/Article_title, but the former causes a variety of problems, including problems with robots.txt, favicon.ico, and script paths. - Not all URLs are rewritten, but this is good. This allows you to easily block search engine spiders from doing anything but viewing articles with a single simple rule. Likewise, you can easily separate out actual article views from other accesses in log analysis, and so on. Links to edit pages and so on are slightly less memorable, but this is no big deal: the important thing is the articles.
- The method uses Alias instead of Rewrite. This is simpler and more reliable (although unfortunately, it requires root access).
[edit] В каком случае не делать короткие ссылки?
- Если Вы не используете Apache.
- Если у вас нет прав доступа root (Администратора).
[edit] Как это сделать?
Во первых, убедись что: 1) Ты используешь Apache и 2) ты имеешь права на редактирование httpd.conf (.htaccess не достаточно!). Если что то из вышеперечисленного не так, ты не сможешь использовать именно этот метод; тебе нужно изменить это, надлежащим образом, либо использовать другой метод.
- Установи движок в какую нибудь директорию. Будем считать, что ты установил его в директорию
/w/относительно корневой папки сервера, как это делает Wikipedia. Если ты выбрал другой путь, замени/w/своим путем. - Выбери директорию в которой будут находится твои статьи. Мы будем исходить из того, что вы выбрали путь
/wiki/, как это делает Wikipedia. Так статьи, будут доступны по адресуhttp://www.yoursite.com/wiki/Article_title. Если ты выбрал другой путь, замени/wiki/этим путем, везде где ты это увидишь. Не создавай эту папку. Она не должна существовать. Помимо того, путь не должен быть корнем сервера, либо аналогом в виртуальной директории. Последний пункт очень важен: не пытайся игнорировать это, чтобы получить более совершенные URLы, иначе этот метод не будет работать. - В конце LocalSettings.php, добавь строку
$wgArticlePath = '/wiki/$1';. - Отредактируй httpd.conf чтобы он содержал правило
Alias /wiki /path/to/your/wiki/index.php. Заметь, что второй путь относится к корню файловой системы, НЕ к корню веб сервера! Это может быть, к примеруAlias /wiki /var/www/w/index.php, если/var/www/является корнем твоего веб сервера. - Сделайте так, чтобы Apache прочитал свой конфигурационный файл (лучше перезапусти его). Хотя, так же можно воспользоваться командой
apachectl gracefulили похожей программой из под рута, или воспользоваться возможностями WebHost Manager'а или похожим ПО. - В корне своего сервера, создай файл robots.txt если такогого не существует. Затем добавь следующие строки в его конец:
User-agent: * Disallow: /w/ Disallow: /wiki/Special:Search Disallow: /wiki/Special:Random
Первое правило "Disallow" запрещает паукам(поисковым роботам) индексировать историю, страницы редактирования, и другие бесполезные страницы. Это привдет к тому, что материал будет индексироваться дважды, например такие страницы как история и страницы редактирования, которые являются ненужными для тех, кто пользуется поиском. Второе и третье правила, не дадут паукам индексировать две Служебные страницы которые могут "смутить" их и, в общем-то, являются бесполезными.
Готово! Теперь твоя вики будет работать идеально. Если нет, зайди в ирк канал irc://irc.freenode.org/mediawiki и сообщи о всех проблемах.
[edit] Другие методы: мини-руководства
Вы можете написать собственное мини-руководство и разместить ссылку на него здесь. Пожалуйста, используйте простое и понятное всем название вашего руководства!
|
Для облегчения выбора подходящего метода, используйте следующие изображения: |
[edit] example.com/Название_страницы
Создание веб-адреса, вида: example.com/Название_страницы
- Manual:Short URL/Page title -- PHP as a CGI module, no root access
x31
x7 - Manual:Short URL/Page title -- Aliasing method--Root access
x2
x6 - Manual:Short URL/Page title -- Working method with mediawiki-1.11
x20
x6 used this method
x2
[edit] example.com/wiki/Название_страницы
Создание веб-адреса, вида: example.com/wiki/Название_страницы
- Manual:Short URL/wiki/Page title -- PHP as a CGI module, no root access
x8
x4 - Manual:Short URL/wiki/Page title -- no root access
x7
x4 - Manual:Short URL/wiki/Page title -- Both no root and root access
x2 - Manual:Short URL/wiki/Page title -- No hidden subdirectory, no root access
x1
Администраторский доступ
Для использования этих методов необходимы права администратора. Если вы размещаете ваш проект на виртуальном хостинге, используйте руководства, для которых не требуются права администратора.
- Manual:Short URL/wiki/Page title--root access -- ОЧЕНЬ ПРОСТО
x11 - Manual:Short URL/wiki/Page title -- with aliases--root access
x5
x2 - Manual:Short URL/wiki/Page title -- Apache rewrite--root access
x4
If the Alias method is not suitable (for example, you use PHP as a CGI), you can use Apache instead. - Manual:Short URL/wiki/Page title -- Lighttpd rewrite--root access
[edit] www.example.com/подкаталог/wiki/Название_страницы
[edit] wiki.example.com/Название_страницы
Создание веб-адреса, вида: wiki.example.com/Page_title
- Manual:Short URL/wiki.example.com/Page_title--difficult


- Manual:Short URL/wiki.example.com/Page_title--Subdomain with no Subdirectory in Article URL
x10
- Manual:Short URL/wiki.example.com/Page_title--Subdomain using mod-rewrite

- Manual:Short URL/wiki.example.com/Page_title--Subdomain using Lighttpd
- Manual:Short URL/wiki.example.com/Page_title--Enabling a wiki using Apache Rewrite

[edit] Ampersand (&) problem
Explanation: This problem shows up when you have page titles with symbols in (such as &, ?, #, + and /) that, despite being correctly encoded in the link are not being passed correctly from mod_rewrite to the script. This manifests in 404 page not found errors, because the title gets cut off at the special character. e.g. Clicking on a link "John & Maria's page" gets a 404, because MediaWiki is looking for a page names "John ".[2]
Решения:
- Manual:Short URL/Ampersand solution with root access
- Manual:Short URL/Ampersand semi-friendly solution with root access
[edit] Полезные советы
- Manual:Short URL/IIS6

- Manual:Short URL/Prevent bots from crawling index.php
- Manual:Short URL/Ignoring the Trailing slash
x1 - Manual:Short URL/Allowing for escaped characters in URI

[edit] Решение проблем
- I received a looping alias/rewrite errors such as: 'Cannot find page www.example.com/wiki/wiki/wiki/wiki/wiki/ [...] /index.php'
Solution: Manual:Short URL/Repeated directory errors - Manual:Short URL/Page title -- Working method with mediawiki-1.11
[edit] Technical notes
- ↑ Какой из файлов я должен отредактировать - httpd.conf или .htaccess? Хотя для изменения файла .htaccess и не требуются права администратора, его использование ведёт к потере производительности (в этом случае сервис httpd выполняет поиск по дереву каталогов и ищет все файлы .htaccess, которые можно использовать). Дополнительная информация - в документации Apache: [http://httpd.apache.org/docs/2.0/howto/htaccess.html#when Почему я (не) должен использовать .htaccess.
- ↑ Reason for the Ampersand problem: The reason for the Ampersand problem is that using the long form means that articles can't have ampersands in their name because they would be treated as query string separators and would never reach the PHP runtime environment. The cause of the is Ampersands problem is an old and problemic mod_rewrite bug. There are discussions of other possible solutions at lists.wikimedia.org and fgiasson.com.
[edit] See also
- An explanation of what each Apache Rewrite rule does
- Explanation of what CGI modules are
- URL rewrite in IIS
- MediaWiki configuration settings Manual:$wgUsePathInfo Whether to use 'pretty' URLs

