Чтобы после переезда с 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
При переходе по старой ссылке, поисковик или пользователь будет перенаправлен на новую ссылку.
Установка:
В файле .htaccess находим:
И над ним добавляем:
Этим мы перенаправим все .html ссылки на файл html.php
Теперь создадим этот самый файл html.php с таким содержимым:
Или при желании Вы можете скачать уже готовый файл html.php.
Например, у Вас была такая ссылка: building-a-proper-motion-seat-base-for-scn5-s-t2216-20.html
А после использования данного скрипта ссылка будет выглядеть так: building-a-proper-motion-seat-base-for-scn5s.2216/page-2
При переходе по старой ссылке, поисковик или пользователь будет перенаправлен на новую ссылку.
Установка:
В файле .htaccess находим:
Код:
RewriteRule ^.*$ index.php [NC,L]
И над ним добавляем:
Код:
RewriteRule ^(.*)\.html html.php [NC,L]
Этим мы перенаправим все .html ссылки на файл html.php
Теперь создадим этот самый файл html.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));
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['REQUEST_URI']);
$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('index.php?threads/' . $id . '/'); //redirect to first page
}else{
phpbb_redirect('index.php?threads/' . $id . '/page-' . $page); //redirect to paginated page
}
case 'f':
phpbb_redirect('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('index.php?threads/' . $id . '/');
case 'f':
phpbb_redirect('index.php?forums/' . $id . '/');
}
}
}
redirect_html();
include('index.php');
Или при желании Вы можете скачать уже готовый файл html.php.