Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Редирект в приложении 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}" ) );

Опубликовано:
  • Автор

@newbie,

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

 

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

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

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

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

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.