Перенаправление с удаленной страницы форума на другую. Возможно ли?!

Автор Солярис, 23 апреля 2013, 13:12:38

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Солярис

Приветствую всех участников форума!

Возник следующий вопрос.

Был удален раздел форума с адресом вида: http://www.сайт.ru/index.php?board=9.0 . Перед этим темы из него были перенесены в другой раздел.

Необходимо, чтобы удаленную страницу сайта заменила страница с адресом http://www.сайт.ru/index.php?board=91.0

Через редирект в файле .htaccess это сделать невозможно, поскольку не существует страницы, с которой происходит перенаправление.

Каким-то образом данное действие еще можно осуществить?

Заранее спасибо за помощь.

iaroslav

Если есть доступ к настрокам апача, то, вроде как реально выставить именно через них. Плюс данного метода в том, что перенаправлять будт не только с несуществующих тем, но и с нерабочих ссылок.

Солярис


Фисташка


iaroslav

Цитата: Солярис от 23 апреля 2013, 13:25:07
Поясните, пожалуйста, подробнее.
Увы, я был не прав, так как форум перехватывает ошибку 404. Посему воспользуйтесь лучше советом Фисташки.
А так имелось в виду что-нибудь вроде дописывания в .htaccess

ErrorDocument 404 http://www.сайт.ru/index.php?board=91.0

Или правка соотвествующего пункта в конфиге сервера.
(Взято вот отсюда: http://www.htaccess.net.ru/doc/ErrorDocument/ErrorDocument2.php)

Солярис

Цитата: Фисташка от 23 апреля 2013, 14:07:11RewriteCond %{REQUEST_URI} =/index.php?board=9.0
RewriteRule ^(.*) /index.php?board=91.0 [R=301,L]
К сожалению, не работают такие правила.

Форум сообщает об ошибке, пишет следующее: тема или раздел, которую Вы ищете, отсутствует или недоступна для входа.

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


Солярис

digger®, а кроме пафосного заявления про "глупость" Вы свои слова обосновать сможете?
Для размещения в сообщении слова "глупость", не приводя никаких доводов, много умения не надо. Но подобные свои утверждения надлежит обосновывать, а не голословно провозглашать.

Вы полагаете, что я не предпринимал никаких действий? Ничего подобного.

Вы бы хоть прежде чем писать про какую-то там "глупость" прочитали то, что я изложил далее:
Цитата: Солярис от 23 апреля 2013, 16:44:03К сожалению, не работают такие правила.

Форум сообщает об ошибке, пишет следующее: тема или раздел, которую Вы ищете, отсутствует или недоступна для входа.

В настоящее время в файле .htaccess указаны следующие команды
RewriteEngine On
RewriteCond %{HTTP_HOST} ^сайт.ru$ [NC]
RewriteRule ^(.*)$ http://www.сайт.ru/$1 [R=301,L]

RewriteCond %{REQUEST_URI} =/index.php?board=9.0
RewriteRule ^(.*) /index.php?board=91.0 [R=301,L]


Первые три строчки работают, нижние две - нет.
Когда я пытаюсь открыть адрес  http://www.сайт.ru/index.php?board=9.0 , то никакой переадресации не происходит, а пишится сообщение об ошибке: тема или раздел, которую Вы ищете, отсутствует или недоступна для входа.

digger®

Цитата: Солярис от 23 апреля 2013, 17:41:15digger®, а кроме пафосного заявления про "глупость" Вы свои слова обосновать сможете?Для размещения в сообщении слова "глупость", не приводя никаких доводов, много умения не надо. Но подобные свои утверждения надлежит обосновывать, а не голословно провозглашать.
Ну вы же голословно провозглашаете пафосные утверждения типа
ЦитироватьЧерез редирект в файле .htaccess это сделать невозможно, поскольку не существует страницы, с которой происходит перенаправление.
ничем их не обосновывая.
Заметьте, вы не пишете "я не смог сделать" или "у меня не заработало", а совершенно безапелляционно заявляете - "это сделать невозможно".
А мужики то и не знают. И делают и, почему-то, работает у них. Движки сайтов меняют один на другой, там уж и речи нет ни о каком существовании старых страниц, а реврайты у них работают как-то и контент отдают по запросам на старые адреса.

Солярис

#9
digger®, я смотрю, что Вы крайне избирательно читаете мои сообщения, выхватывая из них фразы из контекста.

Вы ответ под номером 7 в данной теме вообще читали или специально на него внимание не обращаете, упорно делая акцент только на первом сообщении в теме? Тема ни из одного сообщения состоит.

К чему Ваши нравоучительные слова, если я пытался уже сделать редирект? Я рад за тех, у кого это получается. Если я это не правильно сделал, то я готов услышать дельный совет (и буду благодарен за него), но не попытки продемонстрировать в данной теме свое красноречие, которое здесь ни к селу, ни к городу. Вот и продемонстрируйте, пожалуйста, что у Вас не просто слова.

Цитата: Солярис от 23 апреля 2013, 17:41:15В настоящее время в файле .htaccess указаны следующие команды
RewriteEngine On
    RewriteCond %{HTTP_HOST} ^сайт.ru$ [NC]
    RewriteRule ^(.*)$ http://www.сайт.ru/$1 [R=301,L]
     
    RewriteCond %{REQUEST_URI} =/index.php?board=9.0
    RewriteRule ^(.*) /index.php?board=91.0 [R=301,L]



Первые три строчки работают, нижние две - нет.
Когда я пытаюсь открыть адрес  http://www.сайт.ru/index.php?board=9.0 , то никакой переадресации не происходит, а пишется сообщение об ошибке: тема или раздел, которую Вы ищете, отсутствует или недоступна для входа
.

Солярис

Уважаемые участники, ни у кого нет никаких соображений?

Фисташка

Цитата: Солярис от 23 апреля 2013, 17:41:15Первые три строчки работают, нижние две - нет.
Из-за вопросительного знака в адресе

Солярис

То есть?!
Но по иному движок форума адреса страниц не формирует.

И как тогда перенаправлять на нужную страницу?

Фисташка

На php:
Можно вверху index.template.php, после <?php
Цитироватьif ($_SERVER['REQUEST_URI'] =='/index.php?board=9.0') {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://ваш.сайт/index.php?board=91.0");
exit();
}

Солярис

Фисташка, большое спасибо за помощь!
Ваш вариант работает.