SEO URL / ЧПУ

SEO URL / ЧПУ 1.1.0

Нет прав для скачивания
Совместимость
проверялся на совместимость
Изменения в БД
не требуются
Автор
Sprinx
Общественное достояние
нет
Описание: добавляет генерацию ссылок ЧПУ.

Возможности:
  • Удобная генерация и добавление ссылок
  • Возможна работа без реврайтов (работает на хостингах)
  • Поддержка коротких ссылок (domain.ru/topic/4437/)
SEO_ID - это ид, например топика, который передается в урл domain.ru/topic/4437/

SEO_MODE - это имя файла, например топика, который передается в урл(лежит в папке page) domain.ru/topic/4437/
Инструкция по установке
Открыть common.php:
Найти:
PHP:
// Board init
if (defined('IN_FORUM'))
{
Выше добавить:
PHP:
require(INC_DIR .'classes/seoUrl.php');

Открыть init_bb.php:
Найти:
PHP:
if (defined('PAGE_HEADER_SENT')) return;
Ниже добавить:
PHP:
if (!defined('BB_SCRIPT')) define('BB_SCRIPT', 'undefined');

Открыть page_header.tpl:
Найти:
PHP:
{META}
Выше добавить:
PHP:
<!-- IF not IN_ADMIN -->
<base href="{SITE_URL}" />
<!-- ENDIF -->

Открыть page_header.php:
Найти и удалить
PHP:
if (!defined('BB_SCRIPT')) define('BB_SCRIPT', 'undefined');

Открыть config.php и добавить:
PHP:
//seoUrl
$bb_cfg['romanize'] = true; //транслит
$bb_cfg['no_rewite_url'] = true; //выключение реврайта

$bb_cfg['fulllink'] = array(
   'ucp' => array(
       'register',
       'users',
       'settings',
     ),
);
Реврайт для nginx:
PHP:
location / {
     try_files $uri $uri/ /index.php?$uri&$args;
   }
Реврайт для apache:
PHP:
RewriteEngine On
RewriteRule ^.*$ index.php [NC,L]
  • Перенести файл viewtopic.php в папку page и переименовать в topic.php
  • Перенести файл viewforum.php в папку page и переименовать в forums.php
  • Перенести файл index.php в папку page
Открыть topic.php:
Найти:
PHP:
$topic_id = isset($_GET[POST_TOPIC_URL]) ? (int) $_GET[POST_TOPIC_URL] : 0;
Заменить на:
PHP:
$topic_id = (SEO_ID) ? (int) SEO_ID : 0;
Открыть forums.php:
Найти:
PHP:
$forum_id  = (int) request_var('f', '');
Заменить на:
PHP:
$forum_id  = (int) SEO_ID;
Пример использования:
PHP:
Link::BuildUrl('forums', '1', 'Мой титле') -> http://domain.ru/forums/moy-title.1/ если выключены реврайты http://domain.ru/index.php?=forums/moy-title.1/
Link::BuildUrl('forums', '1') -> http://domain.ru/forums/1/ если выключены реврайты http://domain.ru/index.php?=forums/1/
Link::BuildUrl('forums') -> http://domain.ru/forums/ если выключены реврайты http://domain.ru/index.php?=forums/
Link::BuildUrl() -> http://domain.ru/ если выключены реврайты http://domain.ru/index.php

Реврайт nginx для старых ссылок(мода лога):
Код:
rewrite ^/category-(.*)-(.*).html /rewrite.php?c=$2 last;
rewrite ^/forum-(.*)-(.*).html /rewrite.php?f=$2 last;
rewrite ^/topic-(.*)-(.*).html /rewrite.php?t=$2 last;

Пример для ссылок из папки ucp:
Пример для файла register.php
Создать папку ucp в папке page и закинуть туда данный файл
В файле добавить после <?php
PHP:
$user->session_start();

$mode = SEO_MODE;
if (IS_GUEST && $mode == 'settings') login_redirect();

Заменить в файле все вхождения
Код:
editprofile
на
Код:
settings
Тем самым будут ссылки редактирования domain.ru/settings/

При добавление новых файлов в ucp нужно их указать в конфиге, для их работы.
Автор
Sprinx
Скачивания
77
Просмотры
251
Первый выпуск
Обновление
Оценка
4.50 звёзд 4 оценок

Другие ресурсы пользователя Sprinx

Последние обновления

  1. Обновление 1.1.0

    Обновлено описание ресурса

Последние отзывы

Да задумка неплохая, но много недочетов в этом моде. А так спасибо! Пока - 3
+5
За предоставление мода, давно ожидаемого многими бесплатно.
Сверху