The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Mod Rewrite"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Mod Rewrite" 
Сообщение от Gandalf emailИскать по авторуВ закладки on 02-Мрт-05, 06:59  (MSK)
Задача 1: (наипростейшая…)
http://site.xx/forum и http://site.xx/forum/* должны явно (прямо в строке браузера) переадресоваться (редиректнуться) на http://forum.site.xx/*
* значит что любой путь и параметры должны быть сохранены ;) То есть http://site.xx/forum/showforum.php?param1=1¶m2=2 должно превратится в http://forum.site.xx/showforum.php?param1=1¶m2=2

Задача 2: (сложнее...)
Дано: (Direct Admin, это вам не cPanel ;))
http://site.xx/ официально кажет на сервере в /domains/site.xx/public_html/
http://site.yy/ официально кажет на сервере в /domains/site.yy/public_html/
Нужно:
http://site.XX/* (всё что угодно, НО КРОМЕ ПОДПАПОК) должно НЕявно (так, чтоб никто не догадался) переадресоваться (КАЗАТЬ) на внутреннюю папку /domains/site.YY/public_html/
(не забываем, что http://site.xx/test/ должно по прежнему казать в /domains/site.XX/public_html/test/

Кто-нибудь знает Решения?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Mod Rewrite" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 02-Мрт-05, 15:27  (MSK)
Все пишется внутри конфигурации виртуального хоста site.xx.

RewriteEngine   on
RewriteLog      /var/log/rewrite.log
RewriteLogLevel 9     # это чтоб видеть, почему не работает

>Задача 1: (наипростейшая…)
>http://site.xx/forum и http://site.xx/forum/* должны явно (прямо в строке браузера) переадресоваться (редиректнуться) на
>http://forum.site.xx/*
>* значит что любой путь и параметры должны быть сохранены ;) То
>есть http://site.xx/forum/showforum.php?param1=1¶m2=2 должно превратится в http://forum.site.xx/showforum.php?param1=1¶m2=2

RewriteRule ^/forum$      http://forum.site.xx/   [L,R]
RewriteRule ^/forum/(.*)$ http://forum.site.xx/$1 [L,R]

>Задача 2: (сложнее...)
>Дано: (Direct Admin, это вам не cPanel ;))
>http://site.xx/ официально кажет на сервере в /domains/site.xx/public_html/
>http://site.yy/ официально кажет на сервере в /domains/site.yy/public_html/
>Нужно:
>http://site.XX/* (всё что угодно, НО КРОМЕ ПОДПАПОК) должно НЕявно (так, чтоб никто
>не догадался) переадресоваться (КАЗАТЬ) на внутреннюю папку /domains/site.YY/public_html/
>(не забываем, что http://site.xx/test/ должно по прежнему казать в /domains/site.XX/public_html/test/

RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteCond /domains/site.xx/public_html/%1 !-d
RewriteRule ^/(.*)$ /domains/site.yy/public_html/$1 [L]

только убедись, что site.xx имеет право показывать файлы из /domains/site.yy каталога.

Кстати, ты не указал, что делать, если при запросе http://site.xx/test/ /domains/site.xx/public_html/test/ не существует. В данном случае будет показан /domains/site.yy/public_html/test/

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Mod Rewrite" 
Сообщение от XAnder Искать по авторуВ закладки(??) on 02-Мрт-05, 17:15  (MSK)
>RewriteRule ^/forum$      http://forum.site.xx/   [L,R]
>RewriteRule ^/forum/(.*)$ http://forum.site.xx/$1 [L,R]

Не уверен, но кажется, что в строке браузера от этих правил ничего не изменится и Задача 1 не будет решена.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Mod Rewrite" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 02-Мрт-05, 17:55  (MSK)
>>RewriteRule ^/forum$      http://forum.site.xx/   [L,R]
>>RewriteRule ^/forum/(.*)$ http://forum.site.xx/$1 [L,R]
>
>Не уверен, но кажется, что в строке браузера от этих правил ничего
>не изменится и Задача 1 не будет решена.

Флаг R как-раз указывает на внешний редирект.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Mod Rewrite" 
Сообщение от XAnder Искать по авторуВ закладки(??) on 03-Мрт-05, 08:49  (MSK)
>Флаг R как-раз указывает на внешний редирект.

Да, извиняюсь, недосмотрел :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Mod Rewrite" 
Сообщение от Gandalf emailИскать по авторуВ закладки on 03-Мрт-05, 01:38  (MSK)
в лог записалось это:
/home/account/domains/site.xx/public_html/.htaccess: RewriteLog not allowed here

Может надо не в /site.xx/public_html класть .htaccess ?

По любому, даже forum не редиректнулся... Да и вообще, наверное для forum то логичнее отдельный .htaccess в /home/account/domains/site.xx/public_html/forum/ положить?! (я это имел в виду...)

Надеюсь на помощь.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Mod Rewrite" 
Сообщение от Gandalf emailИскать по авторуВ закладки on 03-Мрт-05, 04:20  (MSK)
Оказалось, что первая задача решается намного легче и удачнее:
в .htaccess пишется: "Redirect /forum/ http://forum.site.xx/"
и всё ;) Проблем со слешем нет и все параметры передаются! Красота.

а вот со второй пока глухо ;(
прописал:
RewriteEngine   on
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteCond /domains/tver.bz/public_html/%1 !-d
RewriteRule ^/(.*)$ /domains/tver.ws/public_html/$1 [L]

и мне апач выдал:
You don't have permission to access / on this server.

Не понимаю как мне этот доступ разрешить... :(

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Mod Rewrite" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 03-Мрт-05, 13:52  (MSK)
>Оказалось, что первая задача решается намного легче и удачнее:

Конечно :) Именно поэтому надо расписывать условия задачи, а не указывать заранее методы ее решения.
Ты же хотел именно mod_rewrite (см. тему).

>и мне апач выдал:
>You don't have permission to access / on this server.

Перечитай еще раз, чего я написал:
1) Все писать в конфиге, а не в .htaccess
2) Разрешить доступ к /domains/tver.bz/public_html/, например, с помощью Directory

И смотри логи, а не выдаваемую страничку, там инфы гораздо больше.

P.S.: кстати, ты все-таки засветил имя своего сайта, хотя очень не хотел делать этого в первом посте :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Mod Rewrite в .htaccess !" 
Сообщение от Gandalf emailИскать по авторуВ закладки(ok) on 04-Мрт-05, 02:58  (MSK)
В том то и дело что у меня к конфиге доступа нет ;( Могу только .htaccess в директориях мутить. ВОТ!
А можно как-нибудь через .htaccess доступ дать к папкам?
Может что в /domains/tver.ws/public_html/ можно прописать чтоб из /domains/tver.bz/public_html/ доступ был?..

З.Ы. Гы :) Да я на каком-то форуме по апачу спросил, написав открыто, а мне предупреждение за рекламу и объяснение что нужно писать скрыто, а за ссылки на их форуме платить... Я их нах послал и меня забанили. Лол. Да и глянул - все так пишут, подумал что и тут так.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Mod Rewrite в .htaccess !" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 04-Мрт-05, 13:09  (MSK)
>В том то и дело что у меня к конфиге доступа нет
>;( Могу только .htaccess в директориях мутить. ВОТ!
>А можно как-нибудь через .htaccess доступ дать к папкам?
>Может что в /domains/tver.ws/public_html/ можно прописать чтоб из /domains/tver.bz/public_html/ доступ был?..

Нет, нельзя. Принципиально. Иначе ты получил бы возможность читать любые файлы любых сайтов на этом серваке.
Попробуй обходной путь: внутри /domains/tver.ws/public_html/ сделай symlink на /domains/tver.bz/public_html/ и mod_rewrite'ом поренаправляй на него. Только не забудь вставить правило, что запрос на этот symlink не попадает под обычные правила, иначе (возможно) зациклишься.
Но это не будет работать если у тебя симлинки запрещены.

>З.Ы. Гы :) Да я на каком-то форуме по апачу спросил, написав
>открыто, а мне предупреждение за рекламу и объяснение что нужно писать
>скрыто, а за ссылки на их форуме платить... Я их нах
>послал и меня забанили. Лол. Да и глянул - все так
>пишут, подумал что и тут так.

Здесь это пофиг :) Здесь и откровенная реклама встречается. Просто многие не хотят светить свою внутренюю информацию.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Mod Rewrite и SymLink в .htaccess ?!?" 
Сообщение от Gandalf emailИскать по авторуВ закладки(ok) on 05-Мрт-05, 22:13  (MSK)
...я, конечно, понимаю, что для человека так легко пишущего про Rewrite и SymLink могут показаться странными мои вопросы, но тем не менее:
Что это за странный SymLink (всё, что пишут в конференциях, так только вопросы по этой теме)? Как этот SymLink куда прописать и где есть доки на эту тему (на русском)?

З.Ы. А аська у Вас есть? Если да, то не могли бы вы мне стукнуть в номер ICQ 7767767. Если не трудно конечно, Там бы более быстро и обсудили мою проблему... Я б в долгу не остался ;)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Mod Rewrite и SymLink в .htaccess ?!?" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 05-Мрт-05, 23:35  (MSK)
>...я, конечно, понимаю, что для человека так легко пишущего про Rewrite и
>SymLink могут показаться странными мои вопросы, но тем не менее:
>Что это за странный SymLink (всё, что пишут в конференциях, так только
>вопросы по этой теме)? Как этот SymLink куда прописать и где
>есть доки на эту тему (на русском)?

Симлинк это очень просто ;)
ln -s /domains/tver.bz/public_html/ /domains/tver.ws/public_html/newsite
Потом проверь, что есть доступ к http://tver.ws/newsite (правильность отображения страничек не требуется, главное чтобы хоть чего нибудь показал). Если работает - то соотв. меняй RewriteRule.
Если не работает - то только обращатся к админу.

>З.Ы. А аська у Вас есть? Если да, то не могли бы
>вы мне стукнуть в номер ICQ 7767767. Если не трудно конечно,
>Там бы более быстро и обсудили мою проблему... Я б в
>долгу не остался ;)

Аська есть, но мне лень консультации по ней давать :)
Я и здесь-то отвечаю по мере наличия времени и желания :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Mod Rewrite и SymLink в .htaccess ?!?" 
Сообщение от Gandalf emailИскать по авторуВ закладки(??) on 07-Мрт-05, 03:25  (MSK)
Ну вот :(((
Ничего не понятно...
Где писать? в .htaccess? В какой директории? Как править Rule? Что такое newsite? Мои задачи ещё помните? :)
Я ж в этом профан, а мне советы как бывалому... Это несправедливо ;)))
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Mod Rewrite и SymLink в .htaccess ?!?" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 07-Мрт-05, 12:59  (MSK)
>Я ж в этом профан, а мне советы как бывалому... Это несправедливо
>;)))

Ну тогда начнем по-порядку.
1. Какой у тебя доступ к серверу: ftp, ssh, ...?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Mod Rewrite и SymLink в .htaccess ?!?" 
Сообщение от Gandalf emailИскать по авторуВ закладки(??) on 09-Мрт-05, 04:00  (MSK)
>>Я ж в этом профан, а мне советы как бывалому... Это несправедливо
>>;)))
>
>Ну тогда начнем по порядку.
>1. Какой у тебя доступ к серверу: ftp, ssh, ...?

ВОТ! Спасибо за понимание ;)
Доступ по FTP, SMTP, IMAP, WebMail ;) и панель управления DirectAdmin (там дофига всего - полное описание панели на русском тут: http://site-helper.ru/)

Каждый домен там имеет отдельную папку (в отличии от cPanel, где это не возможно). Папка на домен это ОЧЕНЬ хорошо, но если один сайт на 2-5 доменах одновременно, то не копии же класть!? Нужно как-то на главный всё заредиректить... :(

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Mod Rewrite и SymLink в .htaccess ?!?" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 10-Мрт-05, 15:03  (MSK)
>Доступ по FTP, SMTP, IMAP, WebMail ;) и панель управления DirectAdmin (там
>дофига всего - полное описание панели на русском тут: http://site-helper.ru/)

Ага, значит шела у тебя нет. Тогда последняя попытка:

RewriteEngine   on
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteCond /domains/tver.bz/public_html/%1 !-d
RewriteRule ^/(.*)$ http://tver.ws/$1 [L,P]

И смотри у логах сайта tver.ws, к чему идет обращение.
Если не работает (а это очень вероятно) - то только в морг.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Mod Rewrite в .htaccess !" 
Сообщение от Gandalf emailИскать по авторуВ закладки(ok) on 14-Мрт-05, 08:02  (MSK)
>>В том то и дело что у меня к конфиге доступа нет
>>;( Могу только .htaccess в директориях мутить. ВОТ!
>>А можно как-нибудь через .htaccess доступ дать к папкам?
>>Может что в /domains/tver.ws/public_html/ можно прописать чтоб из /domains/tver.bz/public_html/ доступ был?..
>
>Нет, нельзя. Принципиально. Иначе ты получил бы возможность читать любые файлы любых
>сайтов на этом серваке.
>Попробуй обходной путь: внутри /domains/tver.ws/public_html/ сделай symlink на /domains/tver.bz/public_html/ и mod_rewrite'ом поренаправляй
>на него. Только не забудь вставить правило, что запрос на этот
>symlink не попадает под обычные правила, иначе (возможно) зациклишься.
>Но это не будет работать если у тебя симлинки запрещены.
>

получил я доступ SSH
сделал symlink с /domains/tver.bz/public_html/redirect на /domains/tver.ws/public_html/
http://tver.bz/rewrite/ работает на ура!
Теперь мне, по идее, надо было реврайтом направить на линк (так как он в своей директории, если я правильно понял Ваш пример)... и я в /domains/tver.bz/public_html/.htaccess написал:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteCond /%1 !-d
RewriteRule ^/(.*)$ /redirect/$1 [L]

но не пашет :( видимо не правильно я поправил RewriteRule или RewriteCond.
FollowSymLinks разрешено, проверил.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "Mod Rewrite в .htaccess !" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 14-Мрт-05, 18:06  (MSK)
>http://tver.bz/rewrite/ работает на ура!
>RewriteRule ^/(.*)$ /redirect/$1 [L]

Ну так /rewrite/ или /redirect/ ?
И что значит "не пашет"?

Попробуй вот так, с явным редиректом - увидишь, во что он переписывает адрес:

RewriteEngine   on
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteCond /domains/tver.bz/public_html/%1 !-d
RewriteRule ^(.*)$ http://tver.ws/$1 [L,R]

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "Mod Rewrite в .htaccess !" 
Сообщение от Gandalf emailИскать по авторуВ закладки(??) on 15-Мрт-05, 06:24  (MSK)
>>http://tver.bz/rewrite/ работает на ура!
>>RewriteRule ^/(.*)$ /redirect/$1 [L]
>
>Ну так /rewrite/ или /redirect/ ?
>И что значит "не пашет"?
>
redirect... Глючу :)


Ура! Заработало ЭТО: (в /domains/tver.bz/public_html/.htaccess)
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteCond /domains/tver.bz/public_html/%1 !-d
RewriteRule ^(.*)$ /redirect/$1 [L]

и ещё: (в /domains/tver.ws/public_html/.htaccess)
RewriteEngine off

Как теперь добавить чтоб http://tver.bz/ и http://tver.bz/forum/ тоже редирактились? (второй RewriteCond отменяет Rewrite, если путь это папка, а это как раз папки... Что ещё добавить в правила? Только чтобы конкретные папки, а не все!)
А то сейчас дже http://tver.bz/index.php работает, а http://tver.bz/ нет :(

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

23. "Mod Rewrite в .htaccess !" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 15-Мрт-05, 14:51  (MSK)
>Как теперь добавить чтоб http://tver.bz/ и http://tver.bz/forum/ тоже редирактились? (второй RewriteCond отменяет
>Rewrite, если путь это папка, а это как раз папки... Что
>ещё добавить в правила? Только чтобы конкретные папки, а не все!)
>
>А то сейчас дже http://tver.bz/index.php работает, а http://tver.bz/ нет :(

Впиши нужные редиректы перед RewriteCond и не забудь про флаг [L], чтобы он дальше не искал. Если я еще не запутался в твоих сайтах, то:

>RewriteEngine on
>Options +FollowSymLinks

RewriteRule ^forum$      http://forum.tver.ws/   [L,R]
RewriteRule ^forum/(.*)$ http://forum.tver.ws/$1 [L,R]
RewriteRule ^$           /redirect/ [L]

>RewriteCond %{REQUEST_URI} ^/([^/]+)
>RewriteCond /domains/tver.bz/public_html/%1 !-d
>RewriteRule ^(.*)$ /redirect/$1 [L]


>и ещё: (в /domains/tver.ws/public_html/.htaccess)
>RewriteEngine off

Странно, это не должно влиять.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Mod Rewrite" 
Сообщение от sergey12 emailИскать по авторуВ закладки(ok) on 04-Мрт-05, 20:09  (MSK)
Подскажите
надо вот что
esnm поддомен test.test.ru
и есть папка test.ru/test
вот сейчас сайт доустпен и проиндексирован и так и так
но мне надо чтобы както через mod rewrite настроит чтобы кто зашел по старому адресу test.ru/test/ .... автоматически был на test.test.ru

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Mod Rewrite" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 05-Мрт-05, 02:58  (MSK)
>Подскажите
>надо вот что
>esnm поддомен test.test.ru
>и есть папка test.ru/test
>вот сейчас сайт доустпен и проиндексирован и так и так
>но мне надо чтобы както через mod rewrite настроит чтобы кто зашел
>по старому адресу test.ru/test/ .... автоматически был на test.test.ru

Ну так и читай этот тред. Пример с http://site.xx/forum
Проводилось два решения.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Mod Rewrite" 
Сообщение от sergey12 emailИскать по авторуВ закладки(ok) on 05-Мрт-05, 11:52  (MSK)
>>Подскажите
>>надо вот что
>>esnm поддомен test.test.ru
>>и есть папка test.ru/test
>>вот сейчас сайт доустпен и проиндексирован и так и так
>>но мне надо чтобы както через mod rewrite настроит чтобы кто зашел
>>по старому адресу test.ru/test/ .... автоматически был на test.test.ru
>
>Ну так и читай этот тред. Пример с http://site.xx/forum
>Проводилось два решения.

вот я сделал

RewriteEngine on
RewriteRule ^/shop$ http://shop.travels-ua.com/ [L,R]
RewriteRule ^/shop/(.*)$ http://shop.travels-ua.com/$1 [L,R]

не работает
должно щас по идее при наборе travels-ua.com/shop/  перекидывать на http://shop.travels-ua.com

но это не делается

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Mod Rewrite" 
Сообщение от dev emailИскать по авторуВ закладки(??) on 05-Мрт-05, 20:14  (MSK)
>вот я сделал
>
>RewriteEngine on
>RewriteRule ^/shop$ http://shop.travels-ua.com/ [L,R]
>RewriteRule ^/shop/(.*)$ http://shop.travels-ua.com/$1 [L,R]
>
>не работает
>должно щас по идее при наборе travels-ua.com/shop/  перекидывать на http://shop.travels-ua.com
>
>но это не делается

1. RewriteLogLevel 9 и стотреть внимательно.
1a. Если нет доступа и настройкам хоста, то поставить Апач дома и тренироваться на кошечках.
2. Скорее всего - лишний слеш:
RewriteRule ^shop$ http://shop.travels-ua.com/ [L,R]
RewriteRule ^shop/(.*)$ http://shop.travels-ua.com/$1 [L,R]

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру