Помогите с mod_rewrite

12
Rimlyanin
На сайте с 22.02.2006
Offline
200
1608

На моём сайте есть основной домен (site1) и паркованный (site2) т.е. site1/file.php и site2/file.php это один и тот-же файл .

Стоит форум в папке forum, хочу его вынести на поддомен, что-бы получилось forum.site1 и forum.site но внутри форума есть куча ссылок на темы да и внешних много, как сделать так что-бы при запросе site1/forum/file.php?value редиректило на forum.site1/file.php?value а по запросу site2/forum/file.php?value на forum.site2/file.php?value

т.е. если человек зашел по внешней ссылке в папку его редиректило на сабдомен на туже тему?

и как прописать правила что-бы для поддомена forum файли брались из папки ну скажем phpbb, а то я ковырял cpanel а там если сабдомен forum то папка для должна называтся forum, а как папку для сабдомена forum изменить я не нашел.

VA
На сайте с 10.04.2006
Offline
73
#1
Rimlyanin:
На моём сайте есть основной домен (site1) и паркованный (site2) т.е. site1/file.php и site2/file.php это один и тот-же файл .
Стоит форум в папке forum, хочу его вынести на поддомен, что-бы получилось forum.site1 и forum.site но внутри форума есть куча ссылок на темы да и внешних много, как сделать так что-бы при запросе site1/forum/file.php?value редиректило на forum.site1/file.php?value а по запросу site2/forum/file.php?value на forum.site2/file.php?value
т.е. если человек зашел по внешней ссылке в папку его редиректило на сабдомен на туже тему?

1. Вообще не проверял, но вроде? если есть поддомен вида forum.site1, поддомен вида forum.site2 работать не будет, не смотря на то, что site2 припаркован.

2. Вместо mod_rewrite я бы использовал php :) в начале файла форума index.php вставил бы такие строки


<?
if($_SERVER['HTTP_HOST']!='forum.site1')header("location:http://forum.site1".@$_SERVER['REQUEST_URI']);
?>

Если все же поддомен для паркованного домена будет работать (т.е. forum.site2 будет работать), то такой код в файле index.php форума:


<?
if($_SERVER['HTTP_HOST']=='site1')header("location:http://forum.site1".@$_SERVER['REQUEST_URI']);
if($_SERVER['HTTP_HOST']=='site2')header("location:http://forum.site2".@$_SERVER['REQUEST_URI']);
?>

(код вставить в самом начале файла, что бы до этого кода небыло даже пробела).

и как прописать правила что-бы для поддомена forum файли брались из папки ну скажем phpbb, а то я ковырял cpanel а там если сабдомен forum то папка для должна называтся forum, а как папку для сабдомена forum изменить я не нашел.

Самостоятельно вроде никак (если нужно что бы папки forum не существовало, а вместо нее была папка phpbb, то вроде только если у хостера попросить, что бы он вручную подправил).

Виктор Симон. (http://webxl.ru)
Rimlyanin
На сайте с 22.02.2006
Offline
200
#2

1. Работает нормально.

2. Этот код прийдется вставлять в кучку файлов, все-таки хотелось-бы через редирект.

3. Прийдется писать в саппорт.

P.S. Спасибо.

mutex
На сайте с 10.04.2005
Offline
64
#3

RewriteEngine On

RewriteCond %{HTTP_HOST} (site1\.zona)

RewriteCond %{HTTP_HOST} !(forum\.site1\.zona)

RewriteCond %{REQUEST_URI} /forum/

RewriteRule ^(.*)$ http://forum.site1/$1 [R=301,L]

аналогично для site2

~~
Rimlyanin
На сайте с 22.02.2006
Offline
200
#4

Спасибо.

mutex:
RewriteEngine On
RewriteCond %{HTTP_HOST} (site1\.zona)
RewriteCond %{HTTP_HOST} !(forum\.site1\.zona)
RewriteCond %{REQUEST_URI} /forum/
RewriteRule ^(.*)$ http://forum.site1/$1 [R=301,L]

аналогично для site2

А можно с пояснениями? а то не понятно что такое .zona

Zonk
На сайте с 19.05.2006
Offline
321
#5

Можно вопрос? Т.к. тема близкая.

А можно каким-то образом разные разделы форума разнести по поддоменам, так, чтобы это выглядело как foto.forumsite.ru/ , video.forumsite.ru/ и т.д.? Позволяет ли это какой-либо движок форумов, например vBulletin v3.5.4?

mutex
На сайте с 10.04.2005
Offline
64
#6
Rimlyanin:
Спасибо.
А можно с пояснениями? а то не понятно что такое .zona

com net org :) аль edu или gov

Zonk,

Можно.

Главное дабы цель была - остальное дело техники.

Rimlyanin
На сайте с 22.02.2006
Offline
200
#7

Тоесть должно получится вот так (на примере этого форума)

RewriteCond %{HTTP_HOST} (searchengines\.ru)
RewriteCond %{HTTP_HOST} !(forum\.searchengines\.ru)
RewriteCond %{REQUEST_URI} /forum/
RewriteRule ^(.*)$ /$1 [R=301,L]

и по запросу мы попадем на /ru/forum/comment/1276102

Правильно?

Ну и плюс тоже самое со вторым доменом.

Rimlyanin
На сайте с 22.02.2006
Offline
200
#8

Хм, только что покликал по ссылкам, похоже на этом сайте сделано точно так-же.

P.S. А можно разьяснить что какая строчка делает?

Rimlyanin
На сайте с 22.02.2006
Offline
200
#9

mutex, у меян на сервере не севсем работает. Я вписал

RewriteCond %{HTTP_HOST} (modding\.kh\.ua)
RewriteCond %{HTTP_HOST} !(phpbb\.modding\.kh\.ua)
RewriteCond %{REQUEST_URI} forum
RewriteRule ^(.*)$ http://phpbb.modding.kh.ua/$1 [R=301,L]

И меня редиректит с modding.kh.ua/forum/vievtopic.php?t=nomer на phpbb.modding.kh.ua/forum/vievtopic.php?t=nomer а надо на phpbb.modding.kh.ua/vievtopic.php?t=nomer

Как быть???

mutex
На сайте с 10.04.2005
Offline
64
#10

Покажите ХТТП заголовки этой тулзой

http://www.seoconsultants.com/tools/headers.asp

с modding.kh.ua/forum/vievtopic.php?t=nomer когда прописан .хтпаксес

12

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