форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
PGP
Специалист
 
PGP's Avatar
Wink Редирект domain.com -> www.domain.com и еще кое что.
5

Думаю многие знают, что авторизация на форуме (сохранение куков) зависит от вида URL'а по которому перешел пользователь. Скажем http://www.domain.com и http://domain.com - не совсем одно и то же.
Сначала приведу код, который нужно использовать в .htaccess, а затем расскажу что он делает.
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.ru
RewriteRule (.*) http://www.domain.ru/$1 [QSA,L,R=301] 

RewriteCond %{HTTP_HOST} ^www.domain.ru
RewriteCond %{REQUEST_URI} ^/forum
RewriteRule forum/(.*) http://forum.domain.ru/$1 [QSA,L,R=301]

RewriteCond %{HTTP_HOST} ^forum.domain.ru
RewriteCond %{REQUEST_URI} ^/forum/
RewriteRule /forum/(.*) http://forum.domain.ru/$1 [QSA,L,R=301]
Данный код позволит редиректить всех на адрес www.domain.com - если они пошли по адресу domain.com (без www).
А также сделать редирект на поддомен forum.domain.com для всех, если они пошли по адресу domain.com/forum или www.domain.com/forum

В принципе ничего сложного - но думаю будет полезно некоторым ;)

Last edited by PGP : 04-08-2009 at 12:16 AM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Molka
Простоузер
Default
0

Мм.. на сайте работает, а на форуме нет.. странно
 
 
PGP
Специалист
 
PGP's Avatar
Default
0

Quote:
Originally Posted by Molka View Post
Мм.. на сайте работает, а на форуме нет.. странно
В смысле?
 
 
Molka
Простоузер
Default
0

Захожу на domen.com/forum не редиректит.. в сайтом всё ворк, а с форумом странно.. не могу понять в 4ём дело..
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
0

ммм...
Code:
RewriteCond %{HTTP_HOST} ^domain.ru
RewriteRule (.*) http://www.domain.ru/$1 [QSA,L,R=301]
это редиректит с domain.ru на www.domain.ru. это понятно.
Code:
RewriteCond %{HTTP_HOST} ^www.domain.ru
RewriteCond %{REQUEST_URI} ^/forum
RewriteRule forum/(.*) http://forum.domain.ru/$1 [QSA,L,R=301]
это редиректит с www.domain.ru/forum на forum.domain.ru. это тоже понятно.
Code:
RewriteCond %{HTTP_HOST} ^forum.domain.ru
RewriteCond %{REQUEST_URI} ^/forum/
RewriteRule /forum/(.*) http://forum.domain.ru/$1 [QSA,L,R=301]
это редиректит с forum.domain.ru/forum на просто forum.domain.ru. и это понятно, хотя тут кажется вкралась ошибочка в правило - нужно:
Code:
RewriteRule forum/(.*) http://forum.domain.ru/$1 [QSA,L,R=301]
одного не понятно. а как сервер определяет, что по запросу forum.domain.ru/index.php ему таки реально нужно запускать скрипт forum.domain.ru/forum/index.php ?... может, не хватает чего-то типа
Code:
RewriteCond %{HTTP_HOST} ^forum.domain.ru
RewriteRule (.*) /forum/$1 [L]
? и в проверках REQUEST_URI стоит писать
Code:
RewriteCond %{REQUEST_URI} ^/*forum/
 
 
Byakuya
Продвинутый
 
Byakuya's Avatar
Default
0

Quote:
Originally Posted by Ghost View Post
одного не понятно. а как сервер определяет, что по запросу forum.domain.ru/index.php ему таки реально нужно запускать скрипт forum.domain.ru/forum/index.php ?... может, не хватает чего-то типа
Code:
RewriteCond %{HTTP_HOST} ^forum.domain.ru
RewriteRule (.*) /forum/$1 [L]
?
сервер определяет это по запросу хоста, но для работы поддомена его надо сначала создать на DNS-сервере и у апача в конфиге написать что-то типа
Code:
<VirtualHost *>
ServerName forum.domain.ru
DocumentRoot /path/to/forum
</VirtualHost>
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
0

Quote:
Originally Posted by Byakuya View Post
сервер определяет это по запросу хоста, но для работы поддомена его надо сначала создать на DNS-сервере и у апача в конфиге написать что-то типа
ах вон оно что... уж простите, не сумел мысли прочесть... теперь вот не догоню - а зачем тогда были все эти выкрутасы с mod_rewrite'ом, описанные выше, если форум и так находится не в основном хосте, а в виртуальном, DOCUMENT_ROOT для которого можно перенести хоть в "/var/log", т.е. вынести из DOCUMENT_ROOT основного хоста? и как быть тем, у кого нет доступа к конфигу апача (сидят на виртуальном хостинге)?
 
 
PGP
Специалист
 
PGP's Avatar
Default
0

Ghost, этот конфиг делался для клиентов пользующихся панелькой DirectAdmin. Сорри, что не указал сразу.
Там все просто. Форум лежит в public_html/forum
В DNS прописывается соответствующий root для поддомена forum автоматом, при добавлении поддомена.
 
 
Molka
Простоузер
Default
0

Извеняюсь.. так что в хеаткейсес вставлять ? Форум на поддомене.. что написано в первом посте, у меня не работает.
 
 
Molka
Простоузер
Default
0

что в хеаткейсес вставлять ? Форум на поддомене.. что написано в первом посте, у меня не работает.
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 04:26 PM.


Powered by vBulletin® Version 3.6.6
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...