Перейти к публикации
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.

Как изменить адреса типа папка на тип файл?

Опубликовано:

Как изменить адреса типа папка на тип файл?

То есть, чтобы было не сайт.ру/файлы, а сайт.ру/файлы.хтмл

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

Опубликовано:

Чем генерируется страница?

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

Чем генерируется страница?

 

я так понимаю, что это встроенное IPB

 

ЗЫ: желательно чтобы работали оба варианта!

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

Опубликовано:

В каждом приложении для IPB есть папка extensions. В ней файл furlTemplates.php. В нем прописаны все ЧПУ с помощью регулярных выражений.

 

На примере форума - /admin/applications/forums/extensions/furlTemplates.php, превратим пару страниц из "папок" в файлы.

 

 

Правило для страницы темы было таким:

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

Создает пути вида:

/topic/123456-чпу-текст/

 

Сделаем так:

	'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/123456-чпу-текст.html

 

При этом старые ссылки тоже будут работать, в зависимости от SEO настроек, с редиректами на новые, или без таковых.

 

 

Или, например, список пользователей - /admin/applications/members/extensions/furlTemplates.php:

 

Главная страница:

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

Делает путь вида:

/members/

 

Первращаем его в страницу:

	'members_list'  => array( 
					'app'			=> 'members',
					'allowRedirect' => 0,
					'out'			=> array( '#app=members((&|&)module=list)?#i', 'members.html' ),
					'in'			=> array( 
												'regex'		=> "#/members\.html(/|$|\?)#i",
												'matches'	=> array( array( 'app', 'members' ),
																	  array( 'module', 'list' )  )
											) 
								),

 

Список пользователей будет на странице:

/members.html

 

Далее читайте доку по регуляркам, экспериментируйте. Разобраться и самостоятельно написать свои ЧПУ не проблема. Так же не столь сложно составить regex выражения таким образом, чтобы материалы были доступны и по старым адресам. Сделать все это лучше самостоятельно, это одна из тех вещей, которые лучше понять, нежели скопипастить откуда-то готовое, а потом хвататься за голову, когда все страницы вылетят из поисковиков.

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

Далее читайте доку по регуляркам, экспериментируйте. Разобраться и самостоятельно написать свои ЧПУ не проблема. Так же не столь сложно составить regex выражения таким образом, чтобы материалы были доступны и по старым адресам. Сделать все это лучше самостоятельно, это одна из тех вещей, которые лучше понять, нежели скопипастить откуда-то готовое, а потом хвататься за голову, когда все страницы вылетят из поисковиков.

 

спасибо за развернутый и полезный ответ!

  • 1 месяц спустя...
Опубликовано:

А как на 3.2.3 сделать транслитерацию url?

Опубликовано:
А как на 3.2.3 сделать транслитерацию url?

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

 

./initdata.php

 

/**

* Making FURL Transliteration for russian forums

* @since 3.0.0.ru

*/

define( 'IPB_USE_SEO_TRANSLIT', TRUE );

 

TRUE включает, FALSE выключает.

После изменения возможно потребуется сбросить кэш чпу в админке, Управление кешем -> Перестроить FURL кеш

Опубликовано:

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

 

./initdata.php

 

/**

* Making FURL Transliteration for russian forums

* @since 3.0.0.ru

*/

define( 'IPB_USE_SEO_TRANSLIT', TRUE );

 

TRUE включает, FALSE выключает.

После изменения возможно потребуется сбросить кэш чпу в админке, Управление кешем -> Перестроить FURL кеш

Нет, в initdata.php таких строк нет :(

С куками все, надеюсь, просто, нужно хост для них прописать, я как раз воюю с настройками, потому до них пока руки не дошли..

Опубликовано:

Пропишите. Точно не знаю, но кажется эта настройка была только в русской локализации ибр-а.

Опубликовано:

Пропишите. Точно не знаю, но кажется эта настройка была только в русской локализации ибр-а.

Так оно и есть.

Опубликовано:

Прописал, перестроил кеши ЧПУ, но не сработало :(

 

ps сорри за оффтоп, я вчера сделал заявку на платную доработку у вас на этом сайте - результат рассмотрения как узнать, принимая во внимание не рабочий email на который зарегистрирован здесь мой аккаунт?

Опубликовано:
Прописал, перестроил кеши ЧПУ, но не сработало

А чпу включили?

 

ps сорри за оффтоп, я вчера сделал заявку на платную доработку у вас на этом сайте

http://ipbskins.ru/forum/topic9788.html

Опубликовано:

Прописал, перестроил кеши ЧПУ, но не сработало :(

В английской версии и не сработает.

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

Сейчас на странице 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.