Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Ritsuka

Как сделать IP.Content "корневым" приложением

Recommended Posts

Меню изменилось, IP.Content выходит главной страницей, но на ней не работает ни одна ссылка. Можете подсказать в чём дело?

Edited by AndreyPB

Share this post


Link to post
Share on other sites

Огромное спасибо.

главная страница - /портал

форум - /forums

 

НО!

Столкнулся с проблемой (IPB 3.2.3) - на форуме в ссылке при просмотре последних сообщений, получается ссылка не правильная, как писал vna

Спс с этим разобрался но все равно пишет когда заходишь в тему

[#10CCS2] We could not find the page you were looking for.

 

Хотя ЧПУ сбросил

 

Врубился в чем проблема почему то когда из категории выбираешь тему то она не дописывает /forums/в ссылке

 

Кто знает как это исправить?

 

Помогите вот одна и таже тема но ссылки разные

/showtopic=614/page__view__getnewpost это не рабочая

/forums/topic/614-pw-patcher/

 

post-49052-0-50841800-1330780901_thumb.png

 

Неужели не кто помочь не может?

Ошибка в коде unread

 

Что бы исправить данную проблему заменяем содержимое файла /admin/applications/forums/extensions/furlTemplates.php на:

(файл furlTemplates.php написанный специалистом Ritsuka, и файл furlTemplates.php написанный мной - разные! У меня для версии IPB 3.2.3)

 

<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.2.3
* Sets up SEO templates
* Last Updated: $Date: 2011-08-02 15:53:39 -0400 (Tue, 02 Aug 2011) $
* </pre>
*
* @author      $Author: bfarber $
* @copyright   © 2001 - 2009 Invision Power Services, Inc.
* @license     http://www.invisionp...rd/license.html
* @package     IP.Board
* @subpackage  Forums
* @link        http://www.invisionpower.com
* @since       20th February 2002
* @version     $Rev: 9351 $
*
*/

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(

   'showannouncement'     => array( 'app'           => 'forums',
                                    'allowRedirect' => 1,
                                    'out'           => array( '#showannouncement=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'forums/forum-$3/announcement-$1-#{__title__}/$4' ),
                                    'in'            => array( 'regex'   => '#/forums/forum-(\d+?)?/announcement-(\d+?)-#i',
                                                              'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ),

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

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

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

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

   'acteqst'       => array( 'app'           => 'forums',
                             'allowRedirect' => 1,
                             'out'           => array( '#act=ST(.*?)&t=(.+?)(&|$)#i', 'forums/topic/$2-#{__title__}/$3' ),
                             'in'            => array( 'regex'   => '#^notavalidrequest$#i',
                                                       'matches' => array( array( 'showtopic', '0' ) ) ) ),

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

 

Обновляем кеш ЧПУ и все норм.

 

 

Только у меня такая проблема, субдомен :(

ставил все на субдомен форум.сайт.ру

и теперь как-то глупо получается:

форум.сайт.ру/портал

форум.сайт.ру/форумс

как избавиться от него, хочу просто сайт.ру

если кто знает, то пишите в теме http://ipbskins.ru/forum/topic9642.html/page__p__62508#entry62508

Edited by arest
  • Upvote 1

Share this post


Link to post
Share on other sites

забыл про показ объявлений

исправил файл furlTemplates.php

 

 

<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.2.3
* Sets up SEO templates
* Last Updated: $Date: 2011-08-02 15:53:39 -0400 (Tue, 02 Aug 2011) $
* </pre>
*
* @author      $Author: bfarber $
* @copyright   © 2001 - 2009 Invision Power Services, Inc.
* @license     http://www.invisionp...rd/license.html
* @package     IP.Board
* @subpackage  Forums
* @link        http://www.invisionpower.com
* @since       20th February 2002
* @version     $Rev: 9351 $
*
*/

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(

   'showannouncement'     => array( 'app'           => 'forums',
                                    'allowRedirect' => 1,
                                    'out'           => array( '#showannouncement=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'forums/forum-$3/announcement-$1-#{__title__}/$4' ),
                                    'in'            => array( 'regex'   => '#/forums/forum-(\d+?)?/announcement-(\d+?)-#i',
                                                              'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ),

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

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

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

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

   'acteqst'       => array( 'app'           => 'forums',
                             'allowRedirect' => 1,
                             'out'           => array( '#act=ST(.*?)&t=(.+?)(&|$)#i', 'forums/topic/$2-#{__title__}/$3' ),
                             'in'            => array( 'regex'   => '#^notavalidrequest$#i',
                                                       'matches' => array( array( 'showtopic', '0' ) ) ) ),

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

 

Edited by arest
  • Upvote 1

Share this post


Link to post
Share on other sites

Сделал как написано, всё получилось. Спасибо

 

Только в титле теперь написано Статьи. Как поменять? подскажите...

Share this post


Link to post
Share on other sites

del

Edited by xDealer

Share this post


Link to post
Share on other sites

@Ritsuka, вы в шаблоне ЧПУ забыли & в массивах showannouncement showtopicunread и showtopicnextunread из-за чего ссылки на объявления и на непрочитанные сообщения выходили битыми.

 

В итоге furlTemplates.php

 

 

<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* Sets up SEO templates
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* </pre>
*
* @author 		$Author: bfarber $
* @copyright	(c) 2001 - 2009 Invision Power Services, Inc.
* @license		http://www.invisionpower.com/company/standards.php#license
* @package		IP.Board
* @subpackage	Forums
* @link		http://www.invisionpower.com
* @since		20th February 2002
* @version		$Rev: 10914 $
*
*/

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(

'showannouncement'     => array( 'app'		     => 'forums',
								 'allowRedirect' => 1,
								 'out'           => array( '#showannouncement=(.+?)((?:&|&)f=(.+?))?(&|$)#i', 'forums/forum-$3/announcement-$1-#{__title__}/$4' ),
						  		 'in'            => array( 'regex'   => '#/forums/forum-(\d+?)?/announcement-(\d+?)-#i',
												 		   'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ),

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

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

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

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

'acteqst'       => array( 'app'		      => 'forums',
						  'allowRedirect' => 1,
						  'out'           => array( '#act=ST(.*?)&t=(.+?)(&|$)#i', 'forums/topic/$2-#{__title__}/$3' ),
						  'in'            => array( 'regex'   => '#^notavalidrequest$#i',
											        'matches' => array( array( 'showtopic', '0' ) ) ) ),

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

 

 

Чтобы было меньше вопросов, убрать index.php можно добавив в .htaccess следующий код:

 

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} .*\.(jpeg|jpg|gif|png)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /public/404.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

И в ACP > System Settings > System > Search Engine Optimization > Use .htaccess mod_rewrite > Yes

 

+ В новой версии контента есть стандартная функция Navigation Menu, можно настроить ссылки без правки шаблона.

 

И ещё, как подправить шаблон ЧПУ для IP.Content, чтобы из ссылок убрать page/ ?

Share this post


Link to post
Share on other sites
И ещё, как подправить шаблон ЧПУ для IP.Content, чтобы из ссылок убрать page/ ?

Без правки кода самого контента - никак :)

Share this post


Link to post
Share on other sites

Всё оказалось проще. :)

 

В ACP > Other Apps > Content > Settings > Basic > Advanced

 

В URL to index.php прописываем свой домен.

 

И включаем Use .htaccess mod_rewrite

 

Есть ещё вариант, но до этого я так же делал, и были проблемы в АЦ, перенаправляло на настройки Контента.

 

Про маркер базы данных.

 

На форуме IPS, в одной из тем, пользователь Marcher Technologies написал, что его не удалить, иначе ссылки на кастомные базы будут битые.

Share this post


Link to post
Share on other sites

Но его легко заменить на любой свой.

Share this post


Link to post
Share on other sites

Но его легко заменить на любой свой.

 

Да знаю что в:

if( !defined('DATABASE_FURL_MARKER') )
{
define( 'DATABASE_FURL_MARKER', '_' );
}

Хотелось бы полностью убрать.

Share this post


Link to post
Share on other sites

Добрый день. У меня такая же проблема что была выше что не переходит в тему по непрочитанному сообщению.

 

Сразу хочу спросить чтоб потом не выглядеть еще большим идиотом чем сейчас.

"Перестроить FURL Кэш" это и есть обновить кэш чпу?

 

По шаблону файла furlTemplates.php из первого поста у меня пишет "Такая страница не найдена",

если по примеру Lesovsky то никуда не попадаю остаюсь на главной форума и ссылка получается вида mysite.ru/forum/index.php?/forums/topic/29#entry248-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%be%d0%b5-%d1%81%d0%be%d0%b1%d1%80%d0%b0%d0%bd%d0%b8%d0%b5/

 

Подскажите пожалуйста как поправить.

 

 

Вообще жуткий оффтоп сердечно извиняюсь: но подкинте плиз в лс ссылку на руссификатор ipb форум и контента, который был бы проверенный, хороший по крайней мере на ваш вкус или если есть какой "общепризнаный". Я просто с оффа скачал какой-то поставил, но там не все локализовано, а при входе в админку вообще крякозябры какие-то вместо букв(словно с кодировкой какие-то проблемы)

 

 

upd: извиняюсь забыл указать версия форума 3.3.4,лицензия

Edited by Jekil

Share this post


Link to post
Share on other sites

"Перестроить FURL Кэш" это и есть обновить кэш чпу?

Да это.

 

У вас по адресу видно что у вас форум установлен в директории forum, хотя нужно чтобы был установлен или перенесён в гл. директорию, хотя если вам так нравится, то другой вопрос.

 

В сообщении #21 выложил как раз для версии 3.3.4.

  • Upvote 1

Share this post


Link to post
Share on other sites

Сделал все как описано в первом посте, все ок работает, но возник вопрос. Находясь на главной странице под "основным" меню видим следующее

Invision Power Board → pages → Articles

Кто то пробовал изменить что бы не было "Invision Power Board → pages"?

Если правильно понял то за это отвечает NAVIGATION BREADCRUMBS?

Edited by maks245

Share this post


Link to post
Share on other sites

Актуальна ли инструкция из первого сообщения для ipb 3/4/0?

Share this post


Link to post
Share on other sites

Актуальна ли инструкция из первого сообщения для ipb 3/4/0?

Начиная с пункта 2. Оригинальный файл из первого пункта изменился.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...