Apache2 rewrite. Как переделать?

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Apache2 rewrite. Как переделать?

Непрочитанное сообщение uvetrom » 2016-03-20 10:07:37

Добрый день!
Есть конфиг

Код: Выделить всё

<VirtualHost site.ru:80>
        ServerAdmin admib@site.ru
        ServerName site.ru
        ServerAlias www.site.ru
        DocumentRoot /var/www/site.ru/
        <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
        </IfModule>

<Directory /var/www/site.ru/>
AllowOverride All
</Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Перенаправляет все запросы на https.
Задумка была такая, все кто пришел на site.ru перешли на https://site.ru, это как бы работает...
Но, вот, если кто то приходит на test.site.ru должны там же и оставаться... а их перекидывает на https :(
Не могу с наскока осилить эти регулярные выражения.... Подскажите, где про них доступно почитать? Или что подправить, и почему именно так :)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35428
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Apache2 rewrite. Как переделать?

Непрочитанное сообщение Alex Keda » 2016-03-20 11:07:06

через .htaccess разрулите
Убей их всех! Бог потом рассортирует...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Apache2 rewrite. Как переделать?

Непрочитанное сообщение uvetrom » 2016-03-20 15:05:18

Alex Keda писал(а):через .htaccess разрулите
Т.е., если у меня сайты в разных папках, мне лучше сделать в каждой папке htaccess.
В частности, если я в папке site.ru сделаю файл htaccess c перенаправлением, то он не будет распространяться на поддомены?
А сейчас у меня мой конфиг действует на весь сервер?

Отправлено спустя 28 секунд:
поддомены тоже в разных папках лежат

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Apache2 rewrite. Как переделать?

Непрочитанное сообщение uvetrom » 2016-03-20 19:03:47

Если честно, то ничего не получилось :(
Я добавил в .htaccess который лежит в /site.ru/

Код: Выделить всё

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

</IfModule>
Дальше, у меня есть 2 конфига апача, /etc/apache2/sites-available/site.ru.conf

Код: Выделить всё

<VirtualHost *:80>
        ServerAdmin admn@site.ru
        ServerName site.ru
        ServerAlias www.site.ru
        DocumentRoot /var/www/site.ru/
        <Directory /var/www/site.ru/>
        AllowOverride All
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
и /etc/apache2/sites-available/site.ru.ssl.conf

Код: Выделить всё


<IfModule mod_ssl.c>
<VirtualHost *:443>
        Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
        ServerAdmin admin@site.ru
        ServerName site.ru
        ServerAlias www.site.ru
        DocumentRoot /var/www/site.ru/
        SSLCACertificateFile /etc/ssl/ca-certs.pem
        SSLUseStapling on
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateKeyFile /etc/ssl/site.ru.key
        SSLCertificateFile    /etc/ssl/2_site.ru.crt
        SSLCertificateChainFile /etc/ssl/1_root_bundle.crt
        <Directory /var/www/site.ru>
AllowOverride All
</Directory>
</VirtualHost>
SSLStaplingCache shmcb:/tmp/stapling_cache(128000)

И, почему то, все равно, любые поддомены он переписывает на https
Например, /etc/apache2/sites-available/exilog.site.ru.conf

Код: Выделить всё

<VirtualHost *:80>
    ServerAdmin admin@site.ru
    DocumentRoot /var/www/exilog
    ServerName exilog.site.ru
    DirectoryIndex exilog_cgi.pl
    ErrorLog /var/log/apache2/exilog.site.ru.log
    <Directory "/var/www/exilog/">
    Options ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

в папке /var/www/exilog/ есть свой htaccess:

Код: Выделить всё

Options +ExecCGI
AddHandler cgi-script .pl
DirectoryIndex exilog_cgi.pl

Аватара пользователя
kharkov_max
капитан
Сообщения: 1859
Зарегистрирован: 2008-10-03 14:56:40

Apache2 rewrite. Как переделать?

Непрочитанное сообщение kharkov_max » 2016-03-21 9:21:56

Сделайте еще один виртуалхост, и поставьте его в конфиге выше и все будет работать..
Т.е. ваши сайты должны быть в разных виртуалхостах...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Apache2 rewrite. Как переделать?

Непрочитанное сообщение uvetrom » 2016-03-21 11:25:32

kharkov_max писал(а):Сделайте еще один виртуалхост, и поставьте его в конфиге выше и все будет работать..
Т.е. ваши сайты должны быть в разных виртуалхостах...
Наверное я не до конца понимаю логику работы апача :(
Я думал что у меня сейчас разные виртуал хосты, хоть они и расположены в разных конфиг файлах.
Не так?
exilog у меня описан в одном виртуалхосте, основной сайт в другом?
и активирую я их через a2ensite имя конфига

Отправлено спустя 6 минут 5 секунд:
Да, и я заметил, что браузеры кешируют реврайт....

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Apache2 rewrite. Как переделать?

Непрочитанное сообщение FiL » 2016-03-22 22:52:20

давайте на шаг назад... без реврайтов у вас все сайты нормально работают?