Регулярное выражение, mod_rewrite - нужен совет

Тема в разделе "Регулярные выражения", создана пользователем Salkfeller, 6 янв 2015.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. Salkfeller

    Salkfeller Создатель

    Регистр.:
    18 мар 2010
    Сообщения:
    19
    Симпатии:
    0
    Здравствуйте! Подскажите пожалуйста что не так в коде. Пытаюсь сделать так, что бы при переходе по ссылкам вида https://site.com/abcdef редириктило на http://site.com/abcdef.
    Одновременно с этим, требуется что бы при навигации по сайту или открытии http://site.com/any_real_file.php был редирект на https://site.com/any_real_file.php.
    Сейчас работает только половина от мне необходимого, т.е. с https://site.com/abcdef редириктит на http://site.com/abcdef.
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /


    RewriteCond %{HTTPS} on
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^([a-zA-Z0-9_-]+)$ redirect.php?alias=$1 [L]



    </IfModule>
     
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    215
    Симпатии:
    280
    Код:
    RewriteCond %{HTTPS} on
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
    
    Заменить на
    Код:
    RewriteCond %{HTTPS} on
    RewriteCond %{REQUEST_URI} ^/[a-zA-Z0-9_-]+$
    RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
    
    RewriteCond %{ENV:REDIRECT_STATUS} =""
    RewriteCond %{HTTPS} !on
    RewriteCond %{REQUEST_URI} \.php$
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
    
     
    Salkfeller нравится это.
Статус темы:
Закрыта.