Разделы

  
 

[REVO] редирект

добрый день.
не подскажете как грамотно сделать редирект на рево,
на ево так прокатывало:
в .htaccess:
Redirect 301 /ru/fotoalbom/ www.сайт.ru/ru/fotoalbom.html
теперь на рево после такого редиректа путь получается не
www.сайт.ru/ru/fotoalbom.html,
а
www.сайт.ru/ru/fotoalbom.html?q=ru/fotoalbom/

Redirect и ЧПУ

Добрый вечер. Подскажите пожалуйста как перенаправить пользователя с адреса
http://www.healthsnews.com/woman/krasota/face/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html

на
http://www.healthsnews.com/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html


Пытался так:
RedirectPermanent /woman/krasota/face/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html http://www.healthsnews.com/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html


Но вылазит ошибка 404, а урл в адресной строке становится такой:
http://www.healthsnews.com/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html?q=woman/krasota/face/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html


Содержимое .htaccess:
# For full documentation and other suggested options, please see
# http://svn.modxcms.com/docs/display/MODx096/Friendly+URL+Solutions
# including for unexpected logouts in multi-server/cloud environments
# and especially for the first three commented out rules

#php_flag register_globals Off
#AddDefaultCharset utf-8
#php_value date.timezone Europe/Moscow

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]

# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
#RewriteRule (.*) http://www.example.com/$1 [R=301,L]

# Exclude /assets and /manager directories and images from rewrite rules
RewriteRule ^(manager|assets)/*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

# Reduce server overhead by enabling output compression if supported.
#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5

RewriteBase /
RedirectPermanent /woman/krasota/face/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html http://www.healthsnews.com/kosmeticheskij-led-dlya-licza:-4-ledyanyix-reczepta.html

# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


Решение:
Может кому пригодится:

RewriteRule ^man/(.*)/(.*) http://healthsnews.com/$2 [R=301,NC,L]
RewriteRule ^woman/(.*)/(.*) http://healthsnews.com/$2 [R=301,NC,L]
RewriteRule ^man/(.*)/(.*)/(.*) http://healthsnews.com/$3 [R=301,NC,L]
RewriteRule ^woman/(.*)/(.*)/(.*)  http://healthsnews.com/$3 [R=301,NC,L]
  • 0
  • 22 апреля 2012, 19:25
  • TroJan
  • 2

MODX Friendly URL Redirect 301

Возникла проблема редиректа страниц из папки
домен.мой/ua/info/news/anonce/ в
домен.мой/ua/info/news/events/

Весь адрес состоит из френдли урлов. Фактически мне надо что б в адресе менялось anonce на events.

Пробовал такую конструкцию
RedirectMatch 301 anonce/(.*) домен.мой/ua/info/news/events/

В результате выходит такое:
При заходе на страницу ua/info/news/anonce/… выдает
«домен.мой/ua/info/news/events/?q=ua/info/news/anonce/»
Я подозреваю что mod rewrite как-то неправильно обрабатывает мою конструкцию или модх что-то мутит. Еще на сайте стоит SEO Strict URLs. Может он что-то портит?
Кто сталкивался с такой проблемой, отпишитесь как решили?
Спасибо!

П.С. перепробовал еще много вариантов редиректа, этот дал хоть какой-то результат.
  • 0
  • 20 апреля 2012, 02:44
  • IzonizZ
  • 1

[REVO] Проблема с $modx->makeUrl()

Задача была перенаправить пользователя после удачного заполнения формы на свежесозднанную страницу. Казалось бы, что может быть проще? Для создания документов используется formit2resource.
Попытался использовать
$newId = $doc->get('id');
$url = $modx->makeUrl($newId,'','','full');
$hook->setRedirectUrl($url);

И на 3 дня заплясал с бубном. Предположение было изначально, что не поступает айди в переменную $newId. Было по неопытности создано кучко чанков с выводом результатов всяких сниппетов с разными комбинациями выдирания свежесозданного айди из модикса. И сегодня, когда мозг уже совсем вскипел, возникло подозрение: а генерится ли урл? Первый же вывод $url в чанк автоматом ответил на все вопросы. Недолгий поиск по форумам выдал решение генерить адрес с помощью index.php?id=$newId вместо makeUrl(), ибо работает эта функция через раз релиз как попало.
  • 0
  • 14 января 2012, 23:14
  • barsuk
  • 18

ЧПУ, редирект

после переноса сайта возникла задача организации редиректа, есть ссылка вида index.php?id=15 нужно настроить редирект на about.html, но проблема в том что документ с id=15 существует и вот такое правило в .htaccess не срабатывает:

RewriteRule ^index.php?id=15 about.html [R=301,NC,L]

есть ли выход из данной ситуации?
  • 0
  • 6 декабря 2011, 12:43
  • infoman
  • 8

Непонятка с .htaccess и чпу

Приветствую Вас, люди добрые! Возник вопрос, не понимаю что происходит, дело вот в чем:
есть .htaccess такого содержания


Options +FollowSymlinks
RewriteEngine On
RewriteBase /

#>>>>
RewriteCond %{HTTP_HOST} ^msc-alyans.ru
RewriteRule (.*) http://www.msc-alyans.ru/$1 [R=301,L]
#<<<<

#>>>> Sitemap, rss
RewriteRule ^(.*)rss\.html$ rss.xml [L,R=301]
RewriteRule ^(.*)\.xml\.html$ $1.xml [L,R=301]

# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]

# Exclude /assets and /manager directories from rewrite rules
RewriteRule ^(manager|assets) - [L]

# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


при заходе по адресу www.msc-alyans.ru/service.html все ОК
при заходе по msc-alyans.ru/service.html отдается страница www.msc-alyans.ru/index.php?q=service.html

с другими страницами вроде все ОК если так же набирать без www (оно добавляется и далее опять чпу остается), если в админке название страницы заменить на другое, т.е. вместо service прописать например 2222, то опять же все замечательно работает. Вот вопрос, где у меня косяк? или service какое-то особое слово?
  • 0
  • 1 декабря 2011, 14:57
  • maks
  • 2

Redirect Revo

Вот решил поделиться, может кому пригодиться.
Сниппет ( я назвал redirectId)
//redirect the user to the dutch pages
  $sl = 0;
  $ssl = 'full';
  if($http)$ssl = $$http;
  if($sleep)$sl = $sleep;
  header('Refresh: '.$sl.'; URL='.$modx->makeUrl($id, '', '', $ssl));



( Читать дальше )