Перейти к содержимому



Помогите с mod_rewrite

#1 Hobbix

Hobbix
  • Пользователь
  • 6 сообщений
  • Репутация: 0
0

Отправлено 23 Январь 2012 - 21:51

Подскажите, пожалуйста, что прописать в htaccess, чтобы делать такие перенаправления.

Ссылки вида:
http://forum.name.com/forum/тут_продолжение_линка
Заменять/переадресовывать вот сюда:
http://forum.name.com/тут_продолжение_линка

Пытался сделать, но пока ничего не получается.

 

 

  • 0

#2 admin

admin
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54

Отправлено 23 Январь 2012 - 22:31

А зачем вам mod_rewrite? Тут просто переносите скрипт из папки forum в корень :blink:
  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#3 Hobbix

Hobbix
    Topic Starter
  • Пользователь
  • 6 сообщений
  • Репутация: 0

Отправлено 23 Январь 2012 - 23:03

admin, дело в том, что пришлось сделать "виртуальный" поддомен forum с помощью htaccess, потому что хостинг ограничивает их количество и мне пришлось пойти на хитрость.
Поэтому папка forum находится в корне сайта и доступна как по адресу forum.name.com, так и по адресу forum.name.com/forum/.
Вот как раз задача и сделать так, чтобы все кто откроет форум как forum.name.com/forum/продолжение_ссылки, был автоматически перенаправлен сюда forum.name.com/продолжение_ссылки.
  • 0

#4 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 24 Январь 2012 - 06:10

ну так удали поддомен
  • -1

#5 Hobbix

Hobbix
    Topic Starter
  • Пользователь
  • 6 сообщений
  • Репутация: 0

Отправлено 24 Январь 2012 - 12:32

surfer, поддомен нужен, если я его сделал.
Ребят, просто помогите оформить пару строк с помощью mod_rewrite.
Поддомен forum.name.com сделал так:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^forum\.name\.(com|ru)$
RewriteCond %{REQUEST_URI} !/forum/
RewriteRule ^(.*)$ /forum/$1 [L]
После этого, форум который фактически находится тут http://name.com/forum/, стал доступен по следующим ссылкам.
forum.name.com
forum.name.com/forum/ (вот этот вариант не нужен, с него нужно преобразовать ссылки к первому виду без /forum/)

Теперь задача переадресовать все адреса вида forum.name.com/forum/итд вот сюда forum.name.com/итд, короче когоря лишний /forum/ из ссылки сократить.
  • 0

#6 admin

admin
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54

Отправлено 24 Январь 2012 - 12:54

Hobbix, так я же не говорил удалять поддомен, просто перенесите форум с папки forum в корень поддомена. Второй раз пишу одно и то же :blink:
  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#7 Hobbix

Hobbix
    Topic Starter
  • Пользователь
  • 6 сообщений
  • Репутация: 0

Отправлено 24 Январь 2012 - 13:12

admin, корень поддомена и есть папка /forum/, она же name.com/forum/. Хостинг не даёт создать "правильный" поддомен в отдельном каталоге, поэтому поддомен сделал "виртуальный" таким образом:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^forum\.name\.(com|ru)$
RewriteCond %{REQUEST_URI} !/forum/
RewriteRule ^(.*)$ /forum/$1 [L]
То есть по запросу forum.name.com у меня открывается папка forum, которая расположена тут name.com/forum/.
Проблема в том, что таким способом "виртуального поддомена" у меня форум открывается не только как forum.name.com, но и forum.name.com/forum/, чего мне не нужно.
  • 0

#8 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 24 Январь 2012 - 13:48

Hobbix, а простой редирект не подходит?
В верху индексного файла прописываете и будет происходить редирект с адреса http://forum.name.com/forum/ на адрес http://forum.name.com/
<?php

if($_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] == 'forum.name.com/forum/'){
header("Location: http://forum.name.com/");
exit;
}

?>

  • 0


#9 Hobbix

Hobbix
    Topic Starter
  • Пользователь
  • 6 сообщений
  • Репутация: 0

Отправлено 24 Январь 2012 - 15:12

matroskin8, такой вариант не подойдет. Во-первых потому что форум phpbb3, насколько я понимаю, не обязательно грузится с индексного файла, там есть всякие viewtipic.php и vieforum.php, во-вторых в папке name.com/forum есть тоже подпапки, например name.com/forum/mod/итд. Если открывать их, то редиректа не произойдет, т.к. он прописан только в корневом forum/index.php.

Я думаю, что в папке name.com/forum/ нужно добавить htaccess и в нём как-то прописать, что если форум (корень_сайта/forum/) открывается по ссылке вида forum.name.com/forum/итд то её нужно отредиректить на просто forum.name.com/итд
  • 0

#10 Hobbix

Hobbix
    Topic Starter
  • Пользователь
  • 6 сообщений
  • Репутация: 0

Отправлено 25 Январь 2012 - 17:41

Никто не знает? :blink:
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru