Jump to content

Редирект со старой ссылки

Featured Replies

Posted
comment_155367

Приветствую, как сделать редирект например с сайт.ru/forum/files на сайт.ru/files? ну то есть и что бы файлы корректно открывались, по новой ссылке (без forum)?

  • Author
comment_155368

Немного изменю теперь вопрос, с этим то вроде разобрался.

Есть ссылка вида сайт.ru/forum/topic/ , так вот как перед ней добавить /forums/? то есть чтобы получилось сайт.ru/forums/forum/topic?

comment_155369

Добавить после RewriteEngine On

RewriteCond %{REQUEST_URI} !^/forums/ 

RewriteRule ^(forum/.*) /forums/$1 [R=301,L]

Но лучше вам написать зачем и конкретнее структуру каталогов форумов чтобы не гадать нам тут с редиректами.

  • Author
comment_155373

Ну,как - до этого форум был по адресу site.ru/forum , теперь форум стал основным, тобишь просто site.ru

Ну и старые ссылки на темы имели адрес site.ru/forum/topic/ , а после переноса они стали  site.ru/FORUMS/forum/topic/ . Вот и хочется чтобы при переходе по старой ссылке пользователь получал не 404 ошибку, а редирект на корректную ссылку темы.

 

Попробовал данный вами вариант - не срабатывает,перекидывает на ссылку вида site.ru/topic/

comment_155374

Не может данный вариант в принципе редиректить на /topic/ так как указан редирект на /forums/$1 Удалите все ваши самодельные редиректы из htaccess, если таковы имеются, и строго следуйте инструкции. И что-то я не совсем понимаю откуда взялся /forums/ если форум в корень домена.

Попробуйте там же добавить просто без RewriteCond

RewriteRule ^forum/((forum|topic)/.*) /forums/$1 [R=301,L]

comment_155476
В 20.02.2019 в 18:52, TheOS сказал:

Приветствую, как сделать редирект например с сайт.ru/forum/files на сайт.ru/files? ну то есть и что бы файлы корректно открывались, по новой ссылке (без forum)? 

Вспомнил старые навыки htaccess редиректов.
И так..

1. Форум был перенесен из папки /forum/ в корень /
Добавить после RewriteEngine On (или RewriteBase если имеется)

RewriteCond %{REQUEST_URI} !^/forum/\d+-
RewriteRule ^forum/(.*) /$1 [R=301,L]

После переноса Pages установлено приложение по умолчанию, нужно сделать редирект с /topic/21076-redirekt-so-staroy-ssylki/ на /forums/topic/21076-redirekt-so-staroy-ssylki/
Добавить после предыдущего редиректа:

RewriteRule ^((forum|topic)/\d+-.*) /forums/$1 [R=301,L]

2. Мне просто нужно сделать редирект с /forum/topic/21076-redirekt-so-staroy-ssylki/ на /forums/topic/21076-redirekt-so-staroy-ssylki/
Добавить после RewriteEngine On (или RewriteBase если имеется)

RewriteRule ^forum/((forum|topic)/.*) /forums/$1 [R=301,L]

 

comment_155789

siv1987 а если форум расположен в папке /forum/, то при входе в любую категорию, будет /forum/forum/xx

Как в такой ситуации избавиться от одного forum?

PS: Я регулярные не пойму, в этой жизни уж точно.

comment_155796

Редиректом таком случае не избавится, первый forum это физическая папка, второй это сам модуль. Тут только измнением либо самой папки, либо чпу форума. Форум по любому будет генерировать адреса согласно своему формату.

А вот если форум был перенесен из папки forum в корень домена, либо в другую и требуется от него избавится тогда можно редиректом.

comment_155797

хм.. я почему-то думал такую ситуацию mod_rewrite решит. Спасибо, прибегнем к изменению ЧПУ стандартными средствами.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.