Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
GeoLik

Редирект с корня в подпапку

Рекомендованные сообщения

Коллеги, перенес форум с корня домена в подпапку, т.е. с 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. До переноса в настройках форумах кукиссы не были прописаны. Пробовал с ними и без. Ошибка та же самая. :(

Поделиться сообщением


Ссылка на сообщение

В корень

 

RewriteEngine on
RewriteCond %{REQUEST_URI} !/forum/
RewriteRule ^(.*)$ http://site.ru/forum/$1 [L,R=301]

Поделиться сообщением


Ссылка на сообщение

Сработало! Благодарю Вас! :rolleyes:

Поделиться сообщением


Ссылка на сообщение

Ребят, а наоборот как прописать - пренес из папки site.ru/forum на поддомен forum.site.ru?

Поделиться сообщением


Ссылка на сообщение

В корень домена (site/)

 

RewriteEngine on
RewriteRule ^forum/(.*)$ http://forum.site.ru/$1 [L,R=301]

Поделиться сообщением


Ссылка на сообщение

Возникла еще ситуация, нужно перенести статьи из подкатегории в категорию и сделать редирект на новый адрес.

 

Допустим, статья была по адресу:

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..), а также чтобы редиректило на адрес без "хвоста".

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

Поделиться сообщением


Ссылка на сообщение

запись нужно добавить сразу после RewriteEngine on (или RewriteBase)

редирект всех записей из подкатегории в родительскую категорию.

 

RewriteRule ^(kategori)/podkategori/(.+)$ /$1/$2? [R=301,L]

Поделиться сообщением


Ссылка на сообщение

Благодарю за оперативность. сейчас попробую.

 

запись RewriteBase в .htaccess нужна? А то в моем варианте .htaccess ее нет.

Поделиться сообщением


Ссылка на сообщение

Если она есть то добавляете после нее, если нету то после r-engine. Присутствие r-base не обязательна.

Поделиться сообщением


Ссылка на сообщение

В общем, результат тот же, т.е. требуется копия на прежнем месте, и опять с хвостом.

Но уже лучше намного - не нужно прописывать для каждой статьи. Спасибо!

 

Кстати, вот содержимое .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]

Поделиться сообщением


Ссылка на сообщение

Странно, "хвоста" не должно быть. Насчет копии на прежнем месте не совсем понятно. Вы же ставите редирект со старых ссылок на новые. Кстати, а RedirectMatch удалили из файла? И нажмите пару раз F5.

Поделиться сообщением


Ссылка на сообщение

В файле больше ничего нет.

 

Чистка кеша изменила ситуацию - "хвост" пропал. Но наличие копии на старом месте обязательно, иначе 404...

Поделиться сообщением


Ссылка на сообщение

Так как может быть копии на старом месте если стоит редирект? Если он работает то код ответа будет 301, 404 там нету.

Поделиться сообщением


Ссылка на сообщение

Вероятно это особенности ABO.CMS.

Вариант:

RewriteRule ^http://site.ru/kategori/podkategori/name.html$ ^http://site.ru/kategori/name.html$ [R=301,L]

они рекомендовали, но предупредили что нужно оставить копию на старом месте.

 

Вернее они сказали, что нужно создать копию статьи по новому адресу, а старую оставить. Иначе будет ошибка 404..

Похоже что это каприз самого движка. :(

Поделиться сообщением


Ссылка на сообщение

Что-то они вам не то насоветовали. Во первых синтаксис у rewriteRule неправильный, во вторых не понимаю зачем нужны статьи по старому адресу. Вы переносите их на новый адрес, со старых ссылок ставите редирект на новые, и не важно останется на старом адресе что-то или нет. Если стоит редирект там по определению не может быть 404 ответа.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...