Jump to content
TheOS

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

RewriteCond %{REQUEST_URI} !^/forums/ 

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
В 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]

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×