7-02-2012, 20:18 Посмотрели: 136614 Добавил: Alex V

Как сделать ЧПУ в IPB если в главной директории стоит DLE?!


Недавно я столкнулся с такой проблемой, мне нужно было установить форум на один из своих сайтов. Сначала я хотел и сюда поставить форум, но решил сделать один общий форум, в котором можно будет общаться пользователям этого сайта и пользователям другого моего сайта. Форум я решил разместить в папке /forum/, а не на поддомене и из-за этого столкнулся с рядом мелких но очень противных проблем.

И проблема состоит в том, что я не могу установить ЧПУ на форуме IPB. А все из-за того что в главной директории сайта стоит DLE. И после установки нужного мне ЧПУ, форум переадресовывался на основной домен сайта, что не есть хорошо.

Искал через поиск решение проблемы и нашел много таких же людей с такой же проблемой. Но адекватного ответа я так и не нашел, который бы решил все мои проблемы.

Для того чтобы не повторять этот круг ада ещё раз я решил собрать все в один подробный мануал. Надеюсь многие пользователи с DLE + IPB скажут за это спасибо love

#1 Адаптация работы DLE и IPB

Для того чтобы исправить ошибку о которой я писал выше, нужно отредактировать файл .htaccess в ДИРЕКТОРИИ DLE (если конечно у вас такая же ситуация и форум стоит в папке).

Добавьте в файл .htaccess эту строку:

RewriteRule ^/forum/$ /forum/index.php? [L]


После этого на форум можно будет зайти через пусть site.ru/forum/ и естественно ссылки будут рабочими.

#2 Меняем ЧПУ в настройках IPB

Заходим в админ панель форума по такому пути:

Настройки и инструменты > Системные настройки > Система > Поисковая оптимизация (SEO)

И делаем там такие изменения:

1. Тип URL - Путь
2. Использовать .htaccess mod_rewrite? - Да
3. Тип обработки неверных URL? - Не обрабатывать

Теперь в файле .htaccess (что в папке с форумом) разместить такой код:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /forum/
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /forum/index.php [L]
</IfModule>


Обратите внимание что в этом коде нет строки Options -MultiViews, если его туда вставить то вы будите постоянно видеть ошибку с кодом 500. Так что обратите внимание, чтобы не было такой строки у вас в .htaccess

#3 Задаем нужное ЧПУ в IPB

Открываем файл /forum/admin/applications/forums/extensions/furlTemplates.php и заменяем строки:

'showtopic'     => array( 'app'              => 'forums',
'allowRedirect' => 1,
'out'           => array( '#showtopic=(.+?)(&|$)#i', 'topic/$1-#{__title__}/$2' ),
 'in'            => array( 'regex'   => '#^/topic/(\d+?)-#i',
'matches' => array( array( 'showtopic', '$1' ) ) ) ),


На этот код:

'showtopic'     => array( 'app'              => 'forums',
'allowRedirect' => 1,
'out'           => array( '#showtopic=(.+?)(&|$)#i', 'topic/$1-#{__title__}.html$2' ),
'in'             => array( 'regex'   => '#/topic/(\d+?)-#i',
'matches' => array( array( 'showtopic', '$1' ) ) ) ),


Если обратите внимание на два этих кода то найдете разницу в 3-й строке кода. В ней кстати можно сделать практически любой ЧПУ, главное чтобы хватило фантазии =)

Вот мы и разобрались как сменить ЧПУ на IPB, если будут вопросы пишите в комментах!

P.S. Если у вас данный метод не работает, не спешите сразу писать тут! Обновите кеш форума и кеш браузера.
Рубрика записи: Советы

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

№ 1. 11-12-2014 22:04 ipson из групы: Посетители сказал :
Благодарю автора! полезная статья  winked

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Юзер панель
Я тебя не знаю!
Зарегистрируйся, либо

войди под своим логином!

Fuck, я забыл свой пароль!

Восстановить данные =0
Новое на сайте
Известная социальная сеть Instagram приступила к тестированию новой...
Недавно, в приложения для Android и iOS социальной сети Twitter была...
Недавно, в Google "Мой бизнес" разработчики добавили новейший способ, как...
Недавно стало известно о том, что соцсеть Facebook по упоминанию в русских...
Недавно, представитель корпорации Google, Джон Мюллер (John Mueller)...
Голосуем

Ваша любимая CMS?


DataLife Engine
WordPress
Joomla
Drupal
LiveStreet
UCOZ
Самопис
Php+Includ
Статика