Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
seobot

ЧПУ для IPB 3.x

Рекомендованные сообщения

06/30/11 19:30 (изменено)

изменял 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

Поделиться сообщением


Ссылка на сообщение
что сделал не так ?

Во первых 'out' и 'in' не совпадают по шаблону, т.е. чпу формируется по одному типу, а вход ('in') получается по другому.

Во вторых, формат forum$1-#{__title__}.html$2 и так по умолчанию, ничего менять не надо.

Поделиться сообщением


Ссылка на сообщение
07/02/11 19:26 (изменено)

проще сказать стандартные выводи формирования с слешем / на конце хочу сделать с .html

Например есть forum/$1-#{__title__}/$2 а хочу сделать forum/$1-#{__title__}.html$2

 

http://*****.net/forum/4-novini-rahvshini/ а нужно http://*****.net/forum/4-novini-rahvshini.html

Изменено пользователем komp

Поделиться сообщением


Ссылка на сообщение

тогда так

 

   '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' ) ) ) ),

Поделиться сообщением


Ссылка на сообщение

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

topic/1781

Убрали в версии 3.2.2 с файла initdata.php

Для константы IPB_USE_ONLY_ID_FURL установить TRUE

 

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

Поделиться сообщением


Ссылка на сообщение

Переписать шаблон под себя

/admin/applications/forums/extensions/furlTemplate.php

 

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

 

Примерно для ID_FURL

-#{__title__} => удалить
(\d+?)-       => (\d+?)

 

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

Поделиться сообщением


Ссылка на сообщение
09/04/11 16:13 (изменено)

Так теперь в этом фале только для юзеров

<?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=(.+?)((?:&|&)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(?:&|&)module=profile(?:&|&)section=status(?:&|&)type=single(?:&|&)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(?:&|&)module=profile(?:&|&)section=status(?:&|&)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(?:&|&)module=profile(?:&|&)section=status((?:&|&)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((&|&)module=list)?#i', 'members/' ),
					'in'			=> array( 
												'regex'		=> "#/members(/|$|\?)#i",
												'matches'	=> array( array( 'app', 'members' ),
																	  array( 'module', 'list' )  )
											) 
								),
);

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

Изменено пользователем Vitalik-x

Поделиться сообщением


Ссылка на сообщение

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

А то всё время надо будет искать и делать не понять что! Что то разработчики вообще об приятном виде ссылок не задумывались.

Поделиться сообщением


Ссылка на сообщение

Изменил на стандартный и выполнил запрос

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=');

 

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

А что, много пользы от модификации кэша 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 времени.

Поделиться сообщением


Ссылка на сообщение
09/15/11 09:22 (изменено)

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

Версия 3.1.X

Изменено пользователем idGreen

Поделиться сообщением


Ссылка на сообщение

Какой код в 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' ) ) ) ),

Поделиться сообщением


Ссылка на сообщение
09/27/11 00:21 (изменено)

Какой код в 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=(.+?)((?:&|&)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

Поделиться сообщением


Ссылка на сообщение

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

 

На данный момент сделал вид: /user/1/ - вместо 1, ID пользователя.

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

 

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...