Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Редиректы в RealURL и .htaccess (http://forum.typo3.ru/showthread.php?t=4194)

AleXUnder 01.08.2007 18:45

Редиректы в RealURL и .htaccess
 
Добрый день коллеги.
Обращаюсь к Вам с проблемой, которая меня вводит в депрессивное состояние. Описываю суть.

Поставил на сайт RealURL все отконфигурировал, сделал как нужно, все работает. Но вот незадача - текущий сайт был на ASP, я перенес его на typo3, раскрутчики испольльзовали старые адреса, типа - about.aspx. Встала задача следать редиректы со старых адресов на новые.
Редиректы без параметров (в конфигурации RealURL) проходят нормально типа: about.aspx на about.html, но вот как дело доходит до адресов типа: productsIndList.aspx?nodeID=1234 то появляется ошибка:
Reason: Segment "productsIndList.aspx" was not a keyword for a postVarSet as expected!

В мэйл-листе Дмитрий Дупелов сказал что в настройке RealURL такие фишки не проходят и посоветовал сделать редиректы через .htaccess
Я так и сделал, но эффекта не было, возвращалась та же ошибка.

Всязи с этим вопрос - как сделать тае чтоб все было нормально, а точнее - настроить редиректы. Есть ли конфликты между mod_rewrite и RealUrl? Как быть?

Очень надеюсь на ответ, потому как времени 1 день!

Valery Romanchev 01.08.2007 19:51

можно попробовать написать php код и вставить его в отдельный php файл и в htaccess страые урлы направлять на этот файл.
а в самом файле - уже вписать все условия и правила... и
в конце сделать редирект в PHP что-то типа header ("Location: ...

AleXUnder 01.08.2007 19:55

а как нить попроще?

enot 08.08.2007 00:21

Цитата:

Сообщение от AleXUnder (Сообщение 13957)
Добрый день коллеги.
Обращаюсь к Вам с проблемой, которая меня вводит в депрессивное состояние. Описываю суть.

Поставил на сайт RealURL все отконфигурировал, сделал как нужно, все работает. Но вот незадача - текущий сайт был на ASP, я перенес его на typo3, раскрутчики испольльзовали старые адреса, типа - about.aspx. Встала задача следать редиректы со старых адресов на новые.
Редиректы без параметров (в конфигурации RealURL) проходят нормально типа: about.aspx на about.html, но вот как дело доходит до адресов типа: productsIndList.aspx?nodeID=1234 то появляется ошибка:
Reason: Segment "productsIndList.aspx" was not a keyword for a postVarSet as expected!

В мэйл-листе Дмитрий Дупелов сказал что в настройке RealURL такие фишки не проходят и посоветовал сделать редиректы через .htaccess
Я так и сделал, но эффекта не было, возвращалась та же ошибка.

Всязи с этим вопрос - как сделать тае чтоб все было нормально, а точнее - настроить редиректы. Есть ли конфликты между mod_rewrite и RealUrl? Как быть?

Очень надеюсь на ответ, потому как времени 1 день!

наверное уже поздно...

лично я, причину для конфликтов mod_rewrite и realurl не вижу
и mod_rewrite активно использую
вот недавно правило добавил

RewriteCond %{QUERY_STRING} tx_uf%5BNavBar%5D=5
RewriteRule ^nodes/mode/34/147/page\.html http://sitename.ru/comm/data/147/page.html?tx_uf[NavBar]=5 [R=permanent,L]

mod_rewrite срабатывает раньше
и последнее его правило
RewriteRule .* index.php [L]
передает эстафету в realUrl
все дело в правильной настройке правил для mod_rewrite

покажите конфиг для mod_rewrite...

не проверял но кажется так для Вас подойдет
RewriteRule ^(.+)\.aspx /$1.html?%{QUERY_STRING} [R=permanent, L]

ну еще мануал можно по mod_rewrite почитать

а про код на ПХП это видимо шутка?

AleXUnder 08.08.2007 11:00

Спасибо большое за ответ, уже действительно поздно, проблема решилась, причем тем способом, который Вы указали. Все равно, еще раз спасибо, Вы один из не многих людей, которые дают ответ на сложные вопросы.

вот то решение, которое применил я для строк с параметрами:

RewriteCond %{QUERY_STRING} ID=21 [NC]
RewriteRule ^catalog\.aspx$ http://domain/products/super-product.html? [NC,R=301,L]

Для редиректов без параметров я использовал вот что:
RedirectMatch Permanent ^/about\.aspx$ http://domain/about.html


Часовой пояс GMT +4, время: 19:55.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot