Иконка ресурса

Redirection Script for phpbb 3.0 2013-08-06

Нет прав для скачивания

Hope

Premium
Сообщения
48,305
Решения
22
Реакции
71,872
Баллы
40,905
Пользователь Hope разместил новый ресурс:

Redirection Script for phpbb 3.0 - Перенос ссылок c phpBB 3 на XenForo.

Чтобы после переезда с phpBB 3 на XenForo не потерять в индесации, был написан этот скрипт. Он макимально приблизит новые ссылки на сообщения, темы и форума к тем, которые у Вас были на phpBB 3.

Например, у Вас была такая ссылка: building-a-proper-motion-seat-base-for-scn5-s-t2216-20.html
А после использования данногь скрипта ссылка будет выглядеть так: building-a-proper-motion-seat-base-for-scn5s.2216/page-2

При переходе по старой ссылке, поисковик или пользователь будет перенаправлен на...

Узнать больше об этом ресурсе...
 
Всё сделал по инструкции, но почему-то не работает. Подскажите, в чем может быть проблема, что я мог упустить?
 
Для начала нужно показать что вы сделали. Прочитайте свой вопрос несколько раз и подумайте как на него можно ответить.
 
Сорри. Вот форум: oede.biz. В выдаче Яндекса можно посмотреть, какие раньше были урлы:
Сделал всё по инструкции. .htaccess поправил, закачал файл html.php, но ничего не работает :/
 
Я не понимаю вот этого... Просто дайте хоть пару ссылок, которые раньше были.
 
Тут еще в придачу транслитерация не совпадает в УРЛах.

Было:
Стало:

Было:
Стало:

Было:
Стало:
 
Ну включите поддержку ЧПУ для начала.
 
Можно попробовать в .htaccess добавить:
Код:
RewriteEngine on

RewriteRule ^([a-zA-Z0-9_\-]+)-t([0-9]+)\.html$ /forum/showthread.php?t=$2 [L,R=301,NC]
RewriteRule ^([a-zA-Z0-9_\-]+)-f([0-9]+)\.html$ /forum/forumdisplay.php?f=$2 [L,R=301,NC]

Для NGINX серверов файл html.php должен выглядеть так:
PHP:
<?php
function phpbb_redirect($url)
{

    //exit;
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: ' . $url);
    exit;
}

function redirect_html()
{
    if (!isset($_SERVER['REQUEST_URI']))
    {
        return;
    }
    /*$url = explode('/', $_SERVER['REQUEST_URI']);
    $url = explode('.', array_pop($url));*/
    $url = explode('/', $_GET['orig_uri']);
    $url = explode('.', array_pop($url));
    //echo $url;
    //echo $_SERVER['HTTP_REFERER'];
    //echo $_SERVER['REQUEST_URI'];
    //echo $_SERVER['REDIRECT_URI'];
    //echo array_pop($url);
    //exit;
    /*if (array_pop($url) != 'html')
    {
        return;
    }*/
    $url = explode('-', array_pop($url));

    $url = array_pop($url);
    $type = substr($url, 0, 1);

    /* get the next to last string */
    if (is_numeric($type) == true && $type) { // There is pagination like are-you-a-new-member-introduce-here-t1737-10.html
        $url_page = explode('/', $_SERVER['HTTP_REFERER']);
        $url_page = explode('-', array_pop($url_page));

        $typestring = array_slice($url_page, count($url_page)-2, 1);
        $typestring_check = $typestring[0];

        //echo $url ."<br>";
        //echo $typestring_check . "<br>";
        //echo substr($typestring_check, 0,1) . "<br>";
        $type = substr($typestring_check, 0,1);
        //echo $type . "<br>";
        //echo $type;
        // if last string is int, its paginated
        $id = intval(substr($typestring_check, 1));
        $page = $url/10; //Division durch 10

        //echo $page;
        switch ($type)
        {
            case 't':
                if ($id == 1){
                phpbb_redirect('http://www.xsimulator.net/community/index.php?threads/' . $id . '/'); //redirect to first page
                }else{
                phpbb_redirect('http://www.xsimulator.net/community/index.php?threads/' . $id . '/page-' . $page); //redirect to paginated page
                }
            case 'f':
                phpbb_redirect('http://www.xsimulator.net/community/index.php?forums/' . $id . '/');
        }
    } else { // No pagination (Maybe first page of the thread) like like are-you-a-new-member-introduce-here-t1737.html

        $type = substr($url, 0, 1);
        $id = substr ($url, 1);

        //echo $id . "<br>";
        //echo $type;
        switch ($type)
        {
            case 't':
                phpbb_redirect('http://www.xsimulator.net/community/index.php?threads/' . $id . '/');
       
            case 'f':
                phpbb_redirect('http://www.xsimulator.net/community/index.php?forums/' . $id . '/');
        }
            phpbb_redirect('http://www.xsimulator.net/community/');

    }
}
redirect_html();
include('index.php');

Только ссылки соответственно нужно заменить на свои и перезагрузить сервер.

Ну и в файл nginx.conf нужно добавить:
Код:
rewrite ^/(.*)\.html$ http://www.yourdomain.com/forum/html.php?orig_uri=$1 last;
 
Разобрался! Нашел оригинал скрипта. Ты не правильно перевел инструкцию, чуток ошибся.

В файле .htaccess находим:
RewriteRule ^.*$ index.php [NC,L]

И перед ним добавляем: RewriteRule ^(.*)\.html html.php [NC,L]

Hope, спасибо за помощь и наставления. Исправь в оригинале для потомков :-)
 
Последнее редактирование:
  • Мне нравится
Реакции: Hope
А в чём ошибка перевода? :-) Не могу понять...

Выше этого кода: RewriteRule ^.*$ index.php [NC,L] вставляем этот: RewriteRule ^(.*)\.html html.php [NC,L] - так и написано. :-) Получаем вот такое:
Код:
RewriteRule ^(.*)\.html html.php [NC,L]
RewriteRule ^.*$ index.php [NC,L]
 
А в чём ошибка перевода? :-) Не могу понять...

Выше этого кода: RewriteRule ^.*$ index.php [NC,L] вставляем этот: RewriteRule ^(.*)\.html html.php [NC,L] - так и написано. :-) Получаем вот такое:
Код:
RewriteRule ^(.*)\.html html.php [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Блин, ну может я туплю тогда. В любом случае - модуль работает, спасибо за помощь.
 
Кто переезжал, ни у кого не было такой проблемы после переезда, что пользователи сохранились и могут заходить под своими логопасами, но писать у них нигде прав нет.
 
А права Вы выдали, права группам нужно заново выдавать.
 
  • Мне нравится
Реакции: Hope
Да, права групп и разделов.
 
  • Мне нравится
Реакции: Hope
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу