GeoLik 42 10/17/11 05:42 Коллеги, перенес форум с корня домена в подпапку, т.е. с site.ru в site/forum/ Пытаюсь в корне разместить .htaccess c содержимым:Options +FollowSymLinks RewriteEngine on RewriteRule /(.*)$ http://site.ru/forum/$1 [L,R=301] При входе на site.ru - тишина, ничего не происходит, но если напрямую набираю http://site.ru/forum/браузер выдает ошибку:Неверное перенаправление на странице Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится. Эта проблема может возникать при отключении или запрещении принятия кук. Что можно предпринять в такой ситуации? p.s. До переноса в настройках форумах кукиссы не были прописаны. Пробовал с ними и без. Ошибка та же самая. :( Поделиться сообщением Ссылка на сообщение
siv1987 2628 10/17/11 09:53 В корень RewriteEngine on RewriteCond %{REQUEST_URI} !/forum/ RewriteRule ^(.*)$ http://site.ru/forum/$1 [L,R=301] Поделиться сообщением Ссылка на сообщение
GeoLik 42 10/17/11 13:48 Сработало! Благодарю Вас! :rolleyes: Поделиться сообщением Ссылка на сообщение
pchela 0 04/21/12 14:00 Ребят, а наоборот как прописать - пренес из папки site.ru/forum на поддомен forum.site.ru? Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/21/12 14:18 В корень домена (site/) RewriteEngine on RewriteRule ^forum/(.*)$ http://forum.site.ru/$1 [L,R=301] Поделиться сообщением Ссылка на сообщение
GeoLik 42 05/27/12 19:46 Возникла еще ситуация, нужно перенести статьи из подкатегории в категорию и сделать редирект на новый адрес. Допустим, статья была по адресу: http://site.ru/kategori/podkategori/name.html Нужно редиректить на:http://site.ru/kategori/name.html Пытаюсь редиректить каждую статью поштучно (без модреврайта):RedirectPermanent /kategori/podkategori/name.html /kategori/name.htmlНо при этом:1. нужно, чтобы копия статьи лежала на старом месте.2. в браузере адрес получается совсем кривой:http://site.ru/kategori/name.html?lang=&link=kategori/podkategori/name.htmlт.е. влезает хвост:?lang=&link=kategori/podkategori/name.html Если делать с помощью модреврайта:RewriteRule ^http://site.ru/kategori/podkategori/name.html$ ^http://site.ru/kategori/name.html$ [R=301,L] все анологично предыдущему варианту: требуется копия на строам адресе, и снова "хвост" в адресе. Можно как-то сделать почеловечнее? :o т.е., чтобы не было копии (иначе она попадает в sitemap.xml..), а также чтобы редиректило на адрес без "хвоста".А еще бы желательно не прописывать редирект каждой статьи, а сразу касалось всех статей, предже распложенных в подкатегори, из которой поднимаем в верхнюю картегорию, где находилась подкатегория. Поделиться сообщением Ссылка на сообщение
siv1987 2628 05/27/12 20:21 запись нужно добавить сразу после RewriteEngine on (или RewriteBase)редирект всех записей из подкатегории в родительскую категорию. RewriteRule ^(kategori)/podkategori/(.+)$ /$1/$2? [R=301,L] Поделиться сообщением Ссылка на сообщение
GeoLik 42 05/27/12 20:25 Благодарю за оперативность. сейчас попробую. запись RewriteBase в .htaccess нужна? А то в моем варианте .htaccess ее нет. Поделиться сообщением Ссылка на сообщение
siv1987 2628 05/27/12 20:27 Если она есть то добавляете после нее, если нету то после r-engine. Присутствие r-base не обязательна. Поделиться сообщением Ссылка на сообщение
GeoLik 42 05/27/12 20:33 В общем, результат тот же, т.е. требуется копия на прежнем месте, и опять с хвостом.Но уже лучше намного - не нужно прописывать для каждой статьи. Спасибо! Кстати, вот содержимое .htaccess, оно от разработчика скрипта, всего лишь вставил одну рекомендованную строчку после RewriteEngine on. Может что-то тут конфликтует? DirectoryIndex index.php Options -Indexes ErrorDocument 404 /404.php php_flag magic_quotes_gpc off php_flag magic_quotes_runtime off php_flag register_globals off php_flag allow_call_time_pass_reference on php_value max_execution_time 240 php_value upload_max_filesize 20M php_value post_max_size 20M php_value display_errors on php_value memory_limit 36M RewriteEngine on RewriteRule ^(moda)/modnye-tendenchii/(.+)$ /$1/$2? [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^((rus|ukr|blr|de|frn|eng)[/$]){0,1}([^?]+)?$ index.php?lang=$2&link=$3 [NC,QSA,L] Поделиться сообщением Ссылка на сообщение
siv1987 2628 05/27/12 20:40 Странно, "хвоста" не должно быть. Насчет копии на прежнем месте не совсем понятно. Вы же ставите редирект со старых ссылок на новые. Кстати, а RedirectMatch удалили из файла? И нажмите пару раз F5. Поделиться сообщением Ссылка на сообщение
GeoLik 42 05/27/12 20:57 В файле больше ничего нет. Чистка кеша изменила ситуацию - "хвост" пропал. Но наличие копии на старом месте обязательно, иначе 404... Поделиться сообщением Ссылка на сообщение
siv1987 2628 05/27/12 21:01 Так как может быть копии на старом месте если стоит редирект? Если он работает то код ответа будет 301, 404 там нету. Поделиться сообщением Ссылка на сообщение
GeoLik 42 05/27/12 21:05 Вероятно это особенности ABO.CMS.Вариант:RewriteRule ^http://site.ru/kategori/podkategori/name.html$ ^http://site.ru/kategori/name.html$ [R=301,L] они рекомендовали, но предупредили что нужно оставить копию на старом месте. Вернее они сказали, что нужно создать копию статьи по новому адресу, а старую оставить. Иначе будет ошибка 404..Похоже что это каприз самого движка. :( Поделиться сообщением Ссылка на сообщение
siv1987 2628 05/27/12 21:16 Что-то они вам не то насоветовали. Во первых синтаксис у rewriteRule неправильный, во вторых не понимаю зачем нужны статьи по старому адресу. Вы переносите их на новый адрес, со старых ссылок ставите редирект на новые, и не важно останется на старом адресе что-то или нет. Если стоит редирект там по определению не может быть 404 ответа. Поделиться сообщением Ссылка на сообщение