ЧПУ для IPB 3.x - Страница 5 - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются проблемы поисковой оптимизации и индексирования форумов.
Если зашли сюда случайно, пожалуйста, не оффтопьте и обратите внимание на другие разделы.
Оформление форумов, включая верстку скинов.
Настройка форумов, установка и администрирование.
Размещение рекламы на форумах.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

furltemplates.php чпу

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

ЧПУ для IPB 3.x

#61 Пользователь не на сайте   komp ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 3
  • Регистрация: 13-Июль 08
  • Репутация: 0
  • IPB version:2.2.2
 

Отправлено 30 Июнь 2011 - 22:29

изменял furlTemplates.php
    'showforum'     => array( 'app'              => 'forums',
                              'allowRedirect' => 1,
                              'out'           => array( '#showforum=(.+?)(&|$)#i', 'forum$1-#{__title__}.html$2' ),
                              'in'            => array( 'regex'   => "#/forum(\d+?).html#i",
                                                        'matches' => array( array( 'showforum', '$1' ) ) ) ),

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


попробовал переделать чуть вывод ссылок но форум не понимает и выдает ошибку #404. что сделал не так ? Как можно построить такую конструкцию сео выдачи урл
forum$1-#{__title__}.html
? )

Сообщение изменено: komp (30 Июнь 2011 - 22:31)

0

#62 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 706
  • Регистрация: 20-Март 09
  • Репутация: 2 264
  • IPB version:3.1.x
 

Отправлено 01 Июль 2011 - 02:17

Цитата

что сделал не так ?

Во первых 'out' и 'in' не совпадают по шаблону, т.е. чпу формируется по одному типу, а вход ('in') получается по другому.
Во вторых, формат forum$1-#{__title__}.html$2 и так по умолчанию, ничего менять не надо.
0

#63 Пользователь не на сайте   komp ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 3
  • Регистрация: 13-Июль 08
  • Репутация: 0
  • IPB version:2.2.2
 

Отправлено 02 Июль 2011 - 22:25

проще сказать стандартные выводи формирования с слешем / на конце хочу сделать с .html
Например есть forum/$1-#{__title__}/$2 а хочу сделать forum/$1-#{__title__}.html$2

http://*****.net/for...vini-rahvshini/ а нужно http://*****.net/for...-rahvshini.html

Сообщение изменено: komp (02 Июль 2011 - 22:28)

0

#64 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 706
  • Регистрация: 20-Март 09
  • Репутация: 2 264
  • IPB version:3.1.x
 

Отправлено 03 Июль 2011 - 22:47

тогда так

    'showforum'     => array( 'app'              => 'forums',
                              'allowRedirect' => 1,
                              'out'           => array( '#showforum=(.+?)(&|$)#i', 'forum$1-#{__title__}.html$2' ),
                              'in'            => array( 'regex'   => "#/forum(\d+)-#i",
                                                        'matches' => array( array( 'showforum', '$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' ) ) ) ),


0

#65 Пользователь не на сайте   Vitalik-x ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 162
  • Регистрация: 16-Декабрь 07
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 04 Сентябрь 2011 - 17:39

Просмотреть сообщениеVitalik-x 19 Декабрь 2010 - 14:25 сказал(а):

Как сделать ссылки вида
topic/1781


Убрали в версии 3.2.2 с файла initdata.php
Для константы IPB_USE_ONLY_ID_FURL установить TRUE

Как теперь сделать такое?
0

#66 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 706
  • Регистрация: 20-Март 09
  • Репутация: 2 264
  • IPB version:3.1.x
 

Отправлено 04 Сентябрь 2011 - 18:48

Переписать шаблон под себя
/admin/applications/forums/extensions/furlTemplate.php

ONLY_ID_FURL в 3.2 больше нету.

Примерно для ID_FURL
-#{__title__} => удалить
(\d+?)-       => (\d+?)


Что будет работать не гарантирую
0

#67 Пользователь не на сайте   Vitalik-x ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 162
  • Регистрация: 16-Декабрь 07
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 04 Сентябрь 2011 - 19:12

Так теперь в этом фале только для юзеров
<?php
/**
 * <pre>
 * Invision Power Services
 * IP.Board v3.2.2
 * Sets up SEO templates
 * Last Updated: $Date: 2011-04-11 06:49:17 -0400 (Mon, 11 Apr 2011) $
 * </pre>
 *
 * @author 		$Author: mmecham $
 * @copyright	(c) 2001 - 2009 Invision Power Services, Inc.
 * @package		IP.Board
 * @subpackage	Members
 * @since		20th February 2002
 * @version		$Rev: 8294 $
 *
 */

if ( ! defined( 'IN_IPB' ) )
{
	print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
	exit();
}

/**
 * SEO templates
 *
 * 'allowRedirect' is a flag to tell IP.Board whether to check the incoming link and if not formatted correctly, redirect the correct one
 *
 * OUT FORMAT REGEX:
 * First array element is a regex to run to see if we've a match for the URL
 * The second array element is the template to use the results of the parenthesis capture
 *
 * Special variable #{__title__} is replaced with the $title data passed to output->formatUrl( $url, $title)
 *
 * IMPORTANT: Remember that when these regex are used, the output has not been fully parsed so you will get:
 * showuser={$data['member_id']} NOT showuser=1 so do not try and match numerics only!
 *
 * IN FORMAT REGEX
 *
 * This allows the registry to piece back together a URL based on the template regex
 * So, for example: "/user/(\d+?)/", 'matches' => array(  array( 'showuser' => '$1' ) )tells IP.Board to populate 'showuser' with the result
 * of the parenthesis capture #1
 */
$_SEOTEMPLATES = array(
	
	'showuser'	=> array( 'app'		      => 'members',
						  'allowRedirect' => 1,
						  'out'           => array( '#showuser=(.+?)((?:&|&amp;)f=(.+?))?(&|$)#i', 'user/$1-#{__title__}/$2$4' ),
						  'in'            => array( 'regex'   => "#/user/(\d+?)-#i",
												    'matches' => array( array( 'showuser', '$1' ) ) ) ),
	
	
	'members_status_single' => array( 'app'		      => 'members',
									  'allowRedirect' => 0,
									  'out'           => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=single(?:&|&amp;)status_id=(\d+?)(&|$)#i', 'statuses/id/$1/$2' ),
									  'in'            => array( 'regex'   => "#/statuses/id/(\d+?)/#i",
															    'matches' => array( array( 'app'    , 'members' ),
															    					array( 'section', 'status' ),
															    					array( 'module' , 'profile' ),
															    					array( 'type'   , 'single' ),
															    					array( 'status_id', '$1' ) ) ) ),
															    					
	'members_status_friends'=> array( 'app'		      => 'members',
									  'allowRedirect' => 0,
									  'out'           => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status(?:&|&amp;)type=friends(&|$)#i', 'statuses/friends/$2' ),
									  'in'            => array( 'regex'   => "#/statuses/friends#i",
															    'matches' => array( array( 'app'    , 'members' ),
															    					array( 'section', 'status' ),
															    					array( 'module' , 'profile' ),
															    					array( 'type'   , 'friends' ) ) ) ),
	
	'members_status_all'	=> array( 'app'		      => 'members',
									  'allowRedirect' => 0,
									  'out'           => array( '#app=members(?:&|&amp;)module=profile(?:&|&amp;)section=status((?:&|&amp;)type=all)?(&|$)#i', 'statuses/all/$2' ),
									  'in'            => array( 'regex'   => "#/statuses/all#i",
															    'matches' => array( array( 'app'    , 'members' ),
															    					array( 'section', 'status' ),
															    					array( 'module' , 'profile'  ) ) ) ),

						
	'members_list'  => array( 
						'app'			=> 'members',
						'allowRedirect' => 0,
						'out'			=> array( '#app=members((&|&amp;)module=list)?#i', 'members/' ),
						'in'			=> array( 
													'regex'		=> "#/members(/|$|\?)#i",
													'matches'	=> array( array( 'app', 'members' ),
																		  array( 'module', 'list' )  )
												) 
									),
);

Сори понял что надо смотреть в \admin\applications\forums\extensions\

Сообщение изменено: Vitalik-x (04 Сентябрь 2011 - 19:14)

0

#68 Пользователь не на сайте   Vitalik-x ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 162
  • Регистрация: 16-Декабрь 07
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 04 Сентябрь 2011 - 20:06

Хм, не прокатило. Может подскажите как выполнить запрос в базу для изменения во всех сообщениях ссылки вида topic/1781, сделать index.php?showtopic=29435.
А то всё время надо будет искать и делать не понять что! Что то разработчики вообще об приятном виде ссылок не задумывались.
0

#69 Пользователь не на сайте   Vitalik-x ответил: »

 
 
  • Advanced
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 162
  • Регистрация: 16-Декабрь 07
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 05 Сентябрь 2011 - 16:23

Изменил на стандартный и выполнил запрос
UPDATE ibf_posts
SET post = REPLACE (post, 'http://форум/topic/', 'http://форум/index.php?showtopic=');
UPDATE ibf_posts
SET post = REPLACE (post, 'http://форум/forum/', 'http://форум/index.php?showforum=');


Если надо можете изменить как вам надо.
0

#70 Пользователь не на сайте   Ezhik ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 70
  • Регистрация: 25-Май 06
  • Репутация: 1
  • IPB version:3.3.x
 

Отправлено 10 Сентябрь 2011 - 11:32

Vitalik-x, сформируйте плз хук для IPB 3.2.x
0

#71 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 10 Сентябрь 2011 - 13:35

А что, много пользы от модификации кэша FURL?

Все равно все новые темы будут создаваться по шаблонам. Да и при редактировании названия тем тоже кэши сбрасываются... Не говоря уже о кнопке "Сбросить FURL кэш" в АЦ :)

Vitalik-x, 3.2.2 не сильно отличается от 3.2.0, а в плане FURL - и от 3.1.4. Возьмите старые fulIdTemplates (кажется, так назывались модифицированные IBR наборы?) из 3.1.4, и сравнивайте их с furlTemplates из 3.2.2. Там все достаточно просто, сделать на ipbskins.ru текущие ЧПУ заняло у меня когда-то минут 10 времени.
0

#72 Пользователь не на сайте   idGreen ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 2
  • Регистрация: 15-Сентябрь 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 15 Сентябрь 2011 - 12:21

Ребят, сделал значит все, норм работает, только вот когда ставлю в настройках форума: Тип обработки неверных URL > Перенаправлять на правильный URL (301), форум главная нормально открывается а вот форумы и темы нет, тупо просто не открывает страницы, может кто подскажет в чем трабла?
Версия 3.1.X

Сообщение изменено: idGreen (15 Сентябрь 2011 - 12:48)

0

#73 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 16 Сентябрь 2011 - 11:10

Какой код в fulrTemplates для форумов и тем?

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

0

#74 Пользователь не на сайте   idGreen ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 2
  • Регистрация: 15-Сентябрь 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 27 Сентябрь 2011 - 03:20

Просмотреть сообщениеRitsuka 16 Сентябрь 2011 - 11:10 сказал(а):

Какой код в fulrTemplates для форумов и тем?

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



Вот что у меня
$_SEOTEMPLATES = array(
	
	'showannouncement'     => array( 'app'		     => 'forums',
									 'allowRedirect' => 1,
									 'out'           => array( '#showannouncement=(.+?)((?:&|&amp;)f=(.+?))?(&|$)#i', 'forum-$3/announcement-$1-#{__title__}/$4' ),
							  		 'in'            => array( 'regex'   => "#/forum-(\d+?)?/announcement-(\d+?)-#i",
													 		   'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ),
													
    'showforum'     => array( 'app'              => 'forums',
                              'allowRedirect' => 1,
                              'out'           => array( '#showforum=(.+?)(&|$)#i', 'forum$1.html$2' ),
                              'in'            => array( 'regex'   => "#/forum(\d+?).html#i",
                                                        'matches' => array( array( 'showforum', '$1' ) ) ) ),
                    
    'showtopic'     => array( 'app'              => 'forums',
                              'allowRedirect' => 1,
                              'out'           => array( '#showtopic=(.+?)(&|$)#i', 'topic$1.html$2' ),
                              'in'            => array( 'regex'   => "#/topic(\d+?).html#i",
														'matches' => array( array( 'showtopic', '$1' ) ) ) ),

    'act=idx'       => array( 'app'              => 'forums',
                              'allowRedirect' => 0,
                              'out'           => array( '#act=idx(&|$)#i', 'index.html$1' ),
                              'in'            => array( 'regex'   => "#/index.html(/|$|\?)#i",
                                                        'matches' => array( array( 'act', 'idx' ) ) ) ),

Сообщение изменено: idGreen (27 Сентябрь 2011 - 03:27)

0

#75 Пользователь не на сайте   sosodef ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 3
  • Регистрация: 10-Ноябрь 11
  • Репутация: 0
  • IPB version:3.2.x
 

Отправлено 10 Ноябрь 2011 - 13:44

Всем привет, прошу помощи с ЧПУ для ссылок на профили пользователей.

На данный момент сделал вид: /user/1/ - вместо 1, ID пользователя.
В принципе все нормально работает, за исключением одной проблемы. ID пользователя обрезается до первой цифры. Например: ID 21 , при переходе на профиль этого пользователя оно делает редирект на пользователя с ID 2.

Может кто нибудь сталкивался с подобной проблемой? уже 3 часа бьюсь и не могу исправить.
0

Сообщить об этой теме:


  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна