ЧПУ, Короткие ссылки

Создал папку domain.ru, там папка /wiki с файлами.

В LocalSettings.php
PHP:
$wgServer = "http://wiki.domain.ru";
$wgScriptPath      = "";
$wgArticlePath      = "/index.php?title=$1";
$wgUsePathInfo      = true;

в .htaccess корневой папки /wiki
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /$1 [L]

в .htaccess основной папки domain.ru
Код:
RewriteEngine On
RedirectMatch /wiki/(.*) http://wiki.domain.ru/$1

Если как-то изменить, то что я итак методом тыка подбирал - не будет работать так: wiki.domain.ru/$1, где $1 - название страницы.
 
Собственно тут написано как раз то что вам нужно. Так пробовали?
LocalSettings.php
PHP:
$wgServer = "http://wiki.domain.ru";
$wgScriptPath      = "";
$wgArticlePath      = "$wgScriptPath/$1";
В .htaccess основной папки domain.ru
Код:
RewriteEngine On
RewriteCond %{HTTP_HOST} wiki.domain.ru
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
RedirectMatch /wiki/(.*)$ http://wiki.domain.ru/$1
В .htaccess корневой папки /wiki ничего не нужно.
 
Собственно тут написано как раз то что вам нужно. Так пробовали?
LocalSettings.php
PHP:
$wgServer = "http://wiki.domain.ru";
$wgScriptPath      = "";
$wgArticlePath      = "$wgScriptPath/$1";
В .htaccess основной папки domain.ru
Код:
RewriteEngine On
RewriteCond %{HTTP_HOST} wiki.domain.ru
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
RedirectMatch /wiki/(.*)$ http://wiki.domain.ru/$1
В .htaccess корневой папки /wiki ничего не нужно.
Это тот же вариант, что и у меня был, только переделан. Так тоже работает, но все равно проблема со служебными ссылками осталась. То есть переходят по url wiki.domain.ru/Служебная:Спецстраницы apache мне выдает ошибку
Код:
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
мол прав на чтение нет. Хотя я использую вин и прав фактически никаких не надо.

Возможно, я туплю и все же какие-то права выдаются на чтение со стороны apache? Просто стоит ещё форум и сайт, аналогичной проблемы не встречал с ними.
 
Последнее редактирование:
@UksusoFF почему-то перестали работать картинки с названиями через _ данный символ. Изображения загруженные до этих правок, которые имеют в названии символ _ - отображаются, а вот новые добавить картинки с _ символом - не показывает картинку. Такое ощущение, что путь не правильный у сайта к картинке.

:(
 
Такое ощущение, что путь не правильный у сайта к картинке.
Ну видимо нужны еще какие-то костыли для Windows, сходу не находится. У вас VPS на Win? Или локально что-то? Если локально, то проще поставить Debian-like + LAMP — там все заводится без проблем.
 
Все обошлось. Все сайты локально стоят на open.
 
Всем привет. Наверняка уже кто то создавал аналогичную тему, но найти её я не смог, потому прошу простить и понять если это дубль :)

В общем пока просто интересно, возможно ли сделать так, что бы главная страница открывалась только по адресу сайта, без переадресации на "index.php/Заглавная_страница"
 
Парни, как убрать из адреса index.php
ну чтобы было не _site.ru/index.php/Page > _site.ru/Page
 
Наверно так:
PHP:
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## http://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "";
$wgScriptExtension = ".php";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;
 
  • Like
Реакции: Solj
Помогло!
 
Добрый вечер. Подскажите пожалуйста.
У меня есть основной сайт и я хочу что бы wiki была доступна по адресу сайт.ру/wiki

Распаковываю ее в этот каталог, но ничего путевого с ЧПУ сделать не удается.
Если ложу нужный .htaccess в корень / перестает работать весь сайт, ложу в сайт.ру/wiki - выдает ошибку 404.
Пробовал распаковывать и устанавливать в сайт.ру/wiki/w и ложить .htaccess в импровизированный корень сайт.ру/wiki
Но результат тот же.
Подскажите что я делаю не так?
Меня в принципе устроит ЧПУ вида сайт.ру/wiki/wiki/Страница
Тут важно разобраться в чем же причина.
 
Если ложу нужный .htaccess в корень / перестает работать весь сайт, ложу в сайт.ру/wiki - выдает ошибку 404.
Нужно правила ЧПУ от MW (поидее вот тут все описано: https://www.mediawiki.org/wiki/Manual:Short_URL/Apache#Setting_up_the_rewrite_rules ) добавить в конец файла .htaccess который лежит в корне.
Естественно с учетом всех подпапок.
 
Нужно правила ЧПУ от MW (поидее вот тут все описано: https://www.mediawiki.org/wiki/Manual:Short_URL/Apache#Setting_up_the_rewrite_rules ) добавить в конец файла .htaccess который лежит в корне.
Естественно с учетом всех подпапок.

Почитал оффсайт.

установил mediawiki в /ownwiki

.htaccess
Код:
RewriteEngine On

RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/ownwiki/index.php [L]

и LocalSetting.php
Код:
$wgScriptPath = "/ownwiki";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;

Основной сайт работает, но wiki выдает ошибку 500 :(

UPD: Как обычно человеческая глупость безгранична. Был отключен mod_rewrite. Все работает как следует. Спасибо :)
 
Последнее редактирование:
сейчас страница открывается по адресу
http://сайт.ru/index.php?title=MediaWiki:Mobile.css
при сохранении выдаёт ошибку 404, так как прописаны короткие URL
Код:
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]
как сделать что бы служебные страницы открывались по такому адресу
http://сайт.ru/MediaWiki:Mobile.css
 
Последнее редактирование:
Назад
Верх