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

Редирект в приложении Links

Recommended Posts

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

 

Не работает редирект в приложение Links, то есть нет автоматического редиректа с обычных ссылок на ЧПУ.

 

Я создал для приложения файл furlRedirect.php (изначально его не было). Вроде всё правильно сделал, но нет редиректа с категорий и записей, хотя с самой главной страницы приложения редирект сработал.

furlRedirect.zip

Share this post


Link to post
Share on other sites

то есть нет автоматического редиректа с обычных ссылок

Что это за ссылки?

Share this post


Link to post
Share on other sites

Что это за ссылки?

И категории и сами записи.

 

А вот главная страница приложения нормально редиректиться.

Share this post


Link to post
Share on other sites

Я имею ввиду как выглядят ссылки.

Share this post


Link to post
Share on other sites

Я имею ввиду как выглядят ссылки.

Разделы: /index.php?app=links&module=links&section=links&do=view&lid=34

Записи: /index.php?app=links&module=links&section=categories&do=view&cid=1

Share this post


Link to post
Share on other sites

У Вас не верное представление о том, как работает furlRedirect

Возьмем категории

$_SEOTEMPLATES[ 'showlinkcat' ] = array(	'app'							=>	'links',
																				'allowRedirect'		=>	1,
																				'out'							=>	array(	'#app=links&showlinkcat=(.+?)(&|$)#i', 'links/category/$1-#{__title__}/$2' ),
																				'in'							=>	array(	'regex'		=>	"#/links/category/(\d+?)-#i",
																									    								'matches'	=>	array(	array( 'app', 'links' ),
																																														array( 'module', 'links' ),
																																														array( 'section', 'categories' ),
																																														array( 'do', 'view' ),
																																														array( 'cid', '$1' ) ) ) );

Редирект возможен при 2-х условиях:

1.

'allowRedirect'		=>	1,

Значение равно 1

2. Ссылка должна соответствовать регулярному выражению $_SEOTEMPLATES['showlinkcat']['out'][0]. Т.е.

'#app=links&showlinkcat=(.+?)(&|$)#i'

Share this post


Link to post
Share on other sites

@newbie,

Такие ссылки выдаются после того как переключаешь стиль. Тогда как скажем в разделах и темах форума, после переключения стиля сразу срабатывает ЧПУ ссылки. Вот поэтому я и подумал что редирект не работает в приложение.

 

Кстати, набрал только что такую ссылку: /index.php?app=links&showlinkcat=3

И тоже самое - не срабатывает редирект.

Share this post


Link to post
Share on other sites

Тогда как скажем в разделах и темах форума, после переключения стиля сразу срабатывает ЧПУ ссылки.

Возьмем топики.

Откройте исходный код и посмотрите на значение атрибута action формы переключения стилей.

forum/index.php?showtopic=123

Для данного вида ссылки есть редирект. Поэтому все работает.

Кстати, набрал только что такую ссылку: /index.php?app=links&showlinkcat=3

В Вашем furlRedirect.php нет редиректов для данного вида. К тому же обратите внимание на
app=links&showlinkcat=

Используется &, а не &

Share this post


Link to post
Share on other sites

Используется &, а не &

Попробовал - что с & что & - не редиректиться.

 

Удалил файл furlRedirect.php - без него и главная страница приложения не редиректиться. Вернул вновь - редиректиться. Значит всё таки проблема в файле furlRedirect.php - я не правильно сделал блоки для категорий и записей.

Share this post


Link to post
Share on other sites

Откройте исходный код и посмотрите на значение атрибута action формы переключения стилей.

Вот для категорий:

/index.php?app=links&module=links&section=categories&do=view&cid=5

Share this post


Link to post
Share on other sites

Я же написал, что в Вашем файле нет редиректов для ссылок и категорий.

1. В furlTemplates.php замените

&

на

(?:&|&)

Обновите кеш

2. В furlRedirect.php

if ( $k == 'cat' )

замените на

if ( $k == 'showlinkcat' )

if ( $k == 'link' )

замените на

if ( $k == 'showlink' )

$cat	= $this->registry->linksCategories->catsById[ $this->_id ];

замените на

$cat = $this->DB->buildAndFetch( array( 'select' => 'category_id,category_title,category_seo_title', 'from' => 'links_cats', 'where' => "category_id={$this->_id}" ) );

  • Upvote 1

Share this post


Link to post
Share on other sites

@newbie,

Всё поставил как вы написали - всё равно не срабатывает.

 

Ещё интересное заметил - если используешь навигацию по категориям, то нажав на любую категорию из меню навигации выдаёт вот такой результат - /index.php?app=links&module=links&section=categories&do=view

Share this post


Link to post
Share on other sites
Всё поставил как вы написали - всё равно не срабатывает.

Может где-то что-то не так сделали.

Ещё интересное заметил - если используешь навигацию по категориям, то нажав на любую категорию из меню навигации выдаёт вот такой результат - /index.php?app=links&module=links&section=categories&do=view

Не вижу проблемы у Вас на форуме.

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...