XF 1.5 Как настроить редирект после конвертации c Vb+Vbseo ?!

otec

Участники
Сообщения
4
Реакции
5
Баллы
1,700
Не могу найти информацию по настройке редиректа после переноса с vBulletin 3.7.x + vBSEO

Форум был - vBulletin 3.7.3 + vBSEO с чпу и ссылками вида:
Для разделов форума http:// www. forum. ru/f112/
Для тем форума http:// www. forum. ru/f3130.html

Установил на его месте XenForo 1.5.9
Конвертация прошла успешно. никаких проблем пока не вижу, за исключение одного крайне важного для форума - не работающего редиректа со страниц в индексе поисковиков.

Правильно ли я понимаю, что в данном случае мне не поможет закидывание файлов forumdisplay,attachment,301config.php и других по списку, в корень форума ?

Подскажите, как выйти из положения, наверняка кто-то решал уже подобный вопрос.
Очень надеюсь на помощь профессионалов по данному направлению.
 
Последнее редактирование:
Само собой я включил это сразу.
Толку только нет.

Ув. Hope, Captain, по вашим ссылкам приведена идентичная информация.
Там речь идет исключительно о стандартных ссылках имеющих в названии forumdisplay.php или showthread.php.
У меня как я написал выше, на вобле использовался vbSEO и ссылки были вида как я описал в первом посту
 
Последнее редактирование:


И после этого в .htaccess (если вдруг что-то не будет работать после использования скрипта конвертации):
Код:
RewriteEngine On

RewriteRule ^[^/]+-t([0-9]+)/$ /forum/threads/$1/ [R=301,L]

Для nginx:
Код:
location ~* ^/forums/(news|anotherforum|andanother|another)/ {
                rewrite /forums/[^/]+/([\d]+)-(.+)\.html /threads/$2.$1/ permanent;
                rewrite /forums/[^/]+/([\d]+)-(.+)(-\d)\.html /threads/$2.$1/page$3 permanent;
        }
 
Последнее редактирование:
Код:
#    Mod_security can interfere with uploading of content such as attachments. If you
#    cannot attach files, remove the "#" from the lines below.
#<IfModule mod_security.c>
#    SecFilterEngine Off
#    SecFilterScanPOST Off
#</IfModule>

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 405 default
ErrorDocument 406 default
ErrorDocument 500 default
ErrorDocument 501 default
ErrorDocument 503 default

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^[^/]+-t([0-9]+)/$ /forum/threads/$1/ [R=301,L]

    #    If you are having problems with the rewrite rules, remove the "#" from the
    #    line that begins "RewriteBase" below. You will also have to change the path
    #    of the rewrite to reflect the path to your XenForo installation.
    #RewriteBase /xenforo

    #    This line may be needed to enable WebDAV editing with PHP as a CGI.
    #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
</IfModule>

Добавил строку в .htaccess
Код:
RewriteRule ^[^/]+-t([0-9]:-)/$ /forum/threads/$1/ [R=301,L]

Но толку нет, не редиректит на новые страницы:
http:// www . domain .ru /forums/106/ (Для разделов)
http:// www . domain .ru /threads/106/ (Для Тем)

Повторюсь, мне надо что бы из вне, можно было пройти по старым ссылкам проиндексированным вида:

http:// www . domain .ru /f106/ (Для разделов и подразделов)
http:// www . domain .ru /t1233.html (Для Тем)

И попасть на новые страницы вида

http:// www . domain .ru /forums/106/ (Для разделов и подразделов)
http:// www . domain .ru /threads/106/ (Для Тем)

Куда копать?


UPDATE :
- добился работы редиректа только для РАЗДЕЛОВ форума.
- ранее было domain.ru/f50/ , теперь c них редиректит на новый domain.ru/forums/1512/)

Я продолжил испытания методом проб и ошибок и в итоге пришел к следующему:

Вставил в .htacces следующую строку :
Код:
RewriteRule f([\d]+/ forumdisplay.php?f=$1 [NC,L]

Камрады, вся надежда на Вас, помогите добить редирект с ТЕМ.
На форуме не развернута тема с редиректом именно с ".html" тем на новый domain.ru/threads/1280/

Жду дальнейший инструкций, спасибо.

UPDATE

Добавил в файл еще вот эти строки
Код:
RewriteRule t([\d]+)-([\d]+)/ showthread.php?t=$1&page=$2 [NC,L]
RewriteRule t([\d]+)/ showthread.php?t=$1 [NC,L]

Не помогло, т.к. нужно видоизменить регулярное выражение в этой строке для страниц domain/123.html
Сейчас эти строки справедливы только редиректа с ТЕМ вида domain.ru/t120/
Что в нем нужно поменять?

UPDATE FINAL (РЕШЕНО)

Додумал сам регулярное выражение и в итоге все получилось, редирект заработал в том числе и для тем форума, которые ранее имели вид forum.ru/t123.html
Код:
RewriteRule ([\d]+)-([\d]+).html showthread.php?t=$1&page=$2 [NC,L]
RewriteRule ([\d]+).html showthread.php?t=$1 [NC,L]

Выкладываю итоговый файл .htaccess, уверен, что пригодиться:
Код:
#<IfModule mod_security.c>
#    SecFilterEngine Off
#    SecFilterScanPOST Off
#</IfModule>

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 405 default
ErrorDocument 406 default
ErrorDocument 500 default
ErrorDocument 501 default
ErrorDocument 503 default

<IfModule mod_rewrite.c>

RewriteEngine on

# Rewrite for threads
RewriteRule ([\d]+)-([\d]+).html showthread.php?t=$1&page=$2 [NC,L]
RewriteRule ([\d]+).html showthread.php?t=$1 [NC,L]

# Rewrite for forumdisplay
RewriteRule f([\d]+)/ forumdisplay.php?f=$1 [NC,L]
RewriteRule f([\d]+)-([\d]+)/ forumdisplay.php?f=$1&page=$2 [NC,L]
      
#RewriteBase /
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

</IfModule>
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу