Автор Гілка: RewriteRule чомусь не спрацьовує...  (Прочитано 1956 раз)

Відсутній Sirko

  • Графоман
  • ****
  • дописів: 299
  • Карма: +0/-0
  • Що новенького?
Привіт всім!
Продовжую налаштовувати openwebmail :) , вирішив зробити для нього virtualhost, і зіткнувсь от з такою  проблемою - не спрацьовує директива RewriteRule. При чому не спрацювує досить дивно. Спочатку сам файл віртуального хоста:
<VirtualHost *:80>

ServerName mail.kyiv.strom-ukraine.com
ServerAlias mail.*
ServerAdmin postmaster@kyiv.strom-ukraine.com

DocumentRoot /var/www/cgi-bin/openwebmail
AddDefaultCharset UTF-8

ErrorLog /var/log/httpd/webmail_error_log
CustomLog /var/log/httpd/webmail_access_log combined

<IfModule mod_rewrite.c>
                  RewriteEngine On
                  RewriteOptions inherit
                  RewriteRule  ^/$ https://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl
                  RewriteLog /var/log/httpd/mod_rewrite_webmail.log
                  RewriteLogLevel 1
</IfModule>


<Directory /var/www/cgi-bin/openwebmail>
    Options Indexes FollowSymLinks +Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>



<VirtualHost *:443>

ServerName mail.kyiv.strom-ukraine.com
ServerAlias mail.*
ServerAdmin postmaster@kyiv.strom-ukraine.com

DocumentRoot /var/www/cgi-bin/openwebmail
AddDefaultCharset UTF-8

SSLEngine on
SSLCipherSuite  ALL:+SSLv2:+SSLv3:+EXP:+eNULL
SSLCertificateFile /etc/httpd/mail.pem
SSLCertificateKeyFile /etc/httpd/mail.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

ErrorLog /var/log/httpd/webmail_ssl_error_log
CustomLog /var/log/httpd/webmail_ssl_access_log combined

<IfModule mod_rewrite.c>
                  RewriteEngine On
                  RewriteOptions inherit
                  RewriteRule  ^/$ https://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl
                  RewriteLog /var/log/httpd/mod_rewrite_webmail.log
                  RewriteLogLevel 1
</IfModule>


<Directory /var/www/cgi-bin/openwebmail>
    Options Indexes FollowSymLinks +Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>

Тобто, коли людина заходе на http://mail.kyiv.strom-ukraine.com, то її повинно перекидувати на https://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl. Так воно і є. Rewrite працює. А от коли намагаєшся зайти на https://mail.kyiv.strom-ukraine.com, то викидує на стартову сторінку апача, ніякого редиректу немає і близько....  Чому так виходе? Куди покопати?
Наперед вдячний за відповідь.
[Kubuntu User]

Відсутній 235

  • Кореспондент
  • ***
  • дописів: 238
  • Карма: +0/-0
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #1 : 2006-04-06 20:54:49 »
ух, як хитро прописані реврайт правила. Чи не легше іх було б винести в .htaccess файл комплексне правило, який покласти в корінь сервера? Опціями він дозвозволений, й не потрібно буде смикати апач встань-сядь для кожного експеременту.  Теги  IfModule можливо й викинути, сенсу від них мало. Цікаво, якщо редірект не робиться, що йде в лог реврайт правила на це й чи міняється сума від перестановки хостів в конфігурації місцями...

але думаю то пусте, й рекомендую спробувати позбавитися реврайт правил й використати простий редірект з mod_alias (який значно простіший та може бути й вбудований в сервер, як от у мене). Для цього в конфігурації, чи .htaccess прописати:
Redirect / http://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl
« Змінено: 2006-04-06 20:56:03 від uran »
Олександр Приймак |  Google Web Toolkit

zzandy

  • Гість
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #2 : 2006-04-06 21:34:26 »
У прикладі налаштування для порту 80(http), а https має порт 443, чи щось таке, не пам`ятаю точно.
« Змінено: 2006-04-06 21:45:30 від zzandy »

Відсутній Sirko

  • Графоман
  • ****
  • дописів: 299
  • Карма: +0/-0
  • Що новенького?
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #3 : 2006-04-07 13:15:02 »
ух, як хитро прописані реврайт правила.
То щоб ніхто не здогадавсь  ;)
але думаю то пусте, й рекомендую спробувати позбавитися реврайт правил й використати простий редірект з mod_alias (який значно простіший та може бути й вбудований в сервер, як от у мене). Для цього в конфігурації, чи .htaccess прописати:
Redirect / http://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl
Ні, не допомогло.... Коли приписую редирект в httpd.conf, то чомусь пишеться дивний URL:
https://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.plcgi-bin/openwebmail/openwebmail.pl
от, а коли прописую в VHost файлі, то все одно перекидає на стартову сторінку апача :(
У прикладі налаштування для порту 80(http), а https має порт 443, чи щось таке, не пам`ятаю точно.
Угу, так і є. Там тре в низ прокрутити, і стає видно трохи краще ;)
[Kubuntu User]

Відсутній 235

  • Кореспондент
  • ***
  • дописів: 238
  • Карма: +0/-0
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #4 : 2006-04-07 14:19:39 »
Цитата
Ні, не допомогло.... Коли приписую редирект в httpd.conf, то чомусь пишеться дивний URL:

здається він входить в рекурсію. Правило редіректа не для всього домену прописувати варто, в даному випадку, коли редірект на нього ж, а лише для однієї директорії. Тобто варто його розмістити між тегами двизначення параметрів директорії
<Directory /var/www/cgi-bin/openwebmail>
Redirect / http://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl
</Directory>

гмм, щось мені ще дивно, що ця директорія ніби й корінь сервера, й ніби з неї ще кудись редірект потрібний з вигляду на ту ж саму теку. Це так?
« Змінено: 2006-04-07 14:20:07 від uran »
Олександр Приймак |  Google Web Toolkit

Відсутній Sirko

  • Графоман
  • ****
  • дописів: 299
  • Карма: +0/-0
  • Що новенького?
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #5 : 2006-04-07 14:59:22 »
здається він входить в рекурсію. Правило редіректа не для всього домену прописувати варто, в даному випадку, коли редірект на нього ж, а лише для однієї директорії. Тобто варто його розмістити між тегами двизначення параметрів директорії
<Directory /var/www/cgi-bin/openwebmail>
Redirect / http://kyiv.strom-ukraine.com/cgi-bin/openwebmail/openwebmail.pl
</Directory>
Те ж саме...
гмм, щось мені ще дивно, що ця директорія ніби й корінь сервера, й ніби з неї ще кудись редірект потрібний з вигляду на ту ж саму теку. Це так?
? трохи не зрозумів питання. Спробую прояснити докладніше ситуацію.
Є машина, яка має в інеті назву kyiv.strom-ukraine.com. На неї зроблено аліас mail, тобто mail.kyiv.strom-ukraine.com. Я забабахав віртуалхост (той що вище), щоб коли людина набирала kyiv.strom-ukraine.com, то попадала на одни сайт, а коли mail.kyiv.strom-ukraine.com - на пошту. От приблизно так я хочу. В принципі, воно то працює на 50%, мало юзверів будуть набирати https в браузері, але якщо хтось із них захоче таке зробити, то вийде кака.
От така проблема. Шукаєм рішення....
[Kubuntu User]

Відсутній 235

  • Кореспондент
  • ***
  • дописів: 238
  • Карма: +0/-0
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #6 : 2006-04-07 16:31:56 »
ииии, вибачай, я трохи вже заплутався також, але здається допустив помилку в редірект правилі:
там пропосано редірект на http:// , я глянув на сервер, а він робить в свою чергу редірект на https://  - й так може бути довго )

хоча, як кажу, вже трохи заплутався, бо якщо хост kyiv.strom-ukraine.com прописаний також редіректити кудись.. ой краще бачити весь тоді конфіг.
Олександр Приймак |  Google Web Toolkit

Відсутній Sirko

  • Графоман
  • ****
  • дописів: 299
  • Карма: +0/-0
  • Що новенького?
Re: RewriteRule чомусь не спрацьовує...
« Відповідей #7 : 2006-04-07 17:51:20 »
ииии, вибачай, я трохи вже заплутався також, але здається допустив помилку в редірект правилі:
там пропосано редірект на http:// , я глянув на сервер, а він робить в свою чергу редірект на https://  - й так може бути довго )
??? та ні, наче нема таких редиректів (чи може я туплю?) Просто при заходженні на http або https повинно в будь-якому випадку перекилати на https://шлях_до_openwebmail...
хоча, як кажу, вже трохи заплутався, бо якщо хост kyiv.strom-ukraine.com прописаний також редіректити кудись.. ой краще бачити весь тоді конфіг.
ні, даний хост нікуди не редиректиться, коли просто набрати http://kyiv.strom-ukraine.com, то нічого не відбувається, а коли через https, то показується стартова сторінка апача...
[Kubuntu User]