Как правильно прописать 301 редирект

ProLiant
На сайте с 07.12.2005
Offline
249
590

Есть сайт на DLE, есть форум на этом же сайте. Форум имеет адрес вида: мойсайт.ru/forum/index.php. Как правильно прописать в htaccess, что бы форум открывался и по ссылке: мойсайт.ru/forum/ ? Сейчас запрос вида мойсайт.ru/forum/ обрабатывается двигом ДЛЕ и при попытке перейти по такой ссылке выдается сообщение "По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу."

Спасибо.

Выбирай оптимальный хостинг (http://cp.inferno.name/aff.php?aff=2053) для стабильного заработка на файловом трафе (https://espays.com/s.php?f=38). ;)
V
На сайте с 03.12.2007
Offline
94
#1

попробуйте указать явно

DirectoryIndex index.php
ProLiant
На сайте с 07.12.2005
Offline
249
#2

Так сейчас и прописано. :) Но надо что бы и сайт нормально открывался, но и сам форум открывался по ссылке мойсайт.ru/forum/.

[umka]
На сайте с 25.05.2008
Offline
456
#3

Redirect 301 /forum http://мойсайт.ru/forum/index.php

Лог в помощь!
ProLiant
На сайте с 07.12.2005
Offline
249
#4
'[umka:
;9609137']Redirect 301 /forum http://мойсайт.ru/forum/index.php

Тогда вот так выдает:

http://мойсайт.ru/forum/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php

Тут как-то сам ДЛЕ рубит этот редирект похоже..

[umka]
На сайте с 25.05.2008
Offline
456
#5

Тогда попробуйте всеми любимым реврайтом :)

RewriteEngine on

RewriteCond %{THE_REQUEST} ^GET\ /forum/\ HTTP

RewriteRule . http://мойсайт.ru/forum/index.php [R=301,L]

ProLiant
На сайте с 07.12.2005
Offline
249
#6
'[umka:
;9609176']Тогда попробуйте всеми любимым реврайтом :)

RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET\ /forum/\ HTTP
RewriteRule . http://мойсайт.ru/forum/index.php [R=301,L]

Так переходит, но в адресной строке ссылку подставляет:

http://мойсайт.ru/forum/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php

А если надо что бы и по ссылке мойсайт.ru/forum/index.php и по мойсайт.ru/forum/ одинаково открывался? Или изменения в адресе скажутся на уже существующей индексации форума?

[umka]
На сайте с 25.05.2008
Offline
456
#7

Зацикливание происходит скорее всего из-за того, что форум тоже пытается сделать какой-то редирект.

Например, с "/forum/index.php" обратно на "/forum/"

Попробуйте убрать "R=301,"

тогда редиректа не будет

gormarket
На сайте с 29.12.2010
Offline
47
#8

ProLiant, а попробуйте запретить обработку адреса мойсайт.ru/forum/ двигом DLE

если я не ошибаюсь (не имел реальных дел с ДЛЕ) за обработку такого адреса отвечает строка

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

если есть такая строка в вашем файле htaccess, то поставьте непосредственно перед ней такое условие:

RewriteCond %{REQUEST_URI} !forum [NC]

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
ProLiant
На сайте с 07.12.2005
Offline
249
#9
'[umka:
;9609201']Зацикливание происходит скорее всего из-за того, что форум тоже пытается сделать какой-то редирект.
Например, с "/forum/index.php" обратно на "/forum/"
Попробуйте убрать "R=301,"
тогда редиректа не будет

Не, не получается... Все равно идет конфликт с ДЛЕ где-то...

The requested URL /forum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpforum/index.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/?do=cat&category=forum/ was not found on this server.

?do=cat&category=forum/ was not found on this server.

ProLiant добавил 01.11.2011 в 19:47

gormarket:
ProLiant, а попробуйте запретить обработку адреса мойсайт.ru/forum/ двигом DLE
если я не ошибаюсь (не имел реальных дел с ДЛЕ) за обработку такого адреса отвечает строка
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
если есть такая строка в вашем файле htaccess, то поставьте непосредственно перед ней такое условие:
RewriteCond %{REQUEST_URI} !forum [NC]

Супер! То, что и надо. Огромное спасибо за помощь! :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий