Jump to content
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.

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

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

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

Featured Replies

  • Author

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

 

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

 

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

Edited by 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 выражения таким образом, чтобы материалы были доступны и по старым адресам. Сделать все это лучше самостоятельно, это одна из тех вещей, которые лучше понять, нежели скопипастить откуда-то готовое, а потом хвататься за голову, когда все страницы вылетят из поисковиков.

  • Author

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

 

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

  • 1 month later...

А как на 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

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

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

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.