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

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

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

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

 

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

 

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

furlRedirect.zip

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


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

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

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

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


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

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

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

 

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

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


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

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

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


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

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

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

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

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


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

У Вас не верное представление о том, как работает 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'

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


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

@newbie,

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

 

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

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

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


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

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

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

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

forum/index.php?showtopic=123

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

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

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

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

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


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

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

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

 

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

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


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

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

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

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

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


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

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

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

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


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

@newbie,

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

 

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

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


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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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