https редирект

toty

Постоялец
Регистрация
1 Авг 2011
Сообщения
136
Реакции
3
AddDefaultCharset UTF-8
Options -Indexes

DirectoryIndex index.php
ErrorDocument 404 /error
ErrorDocument 403 /error
RewriteEngine On
RewriteBase /

###### Redirect from http to https #######################
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* Для просмотра ссылки Войди или Зарегистрируйся [R,L]
##########################################################

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((russian|english)[/$]){0,1}([^?]+)?$ index.php?lang=$2&link=$3 [NC,QSA,L]

Редирект проходит нормально, но чпу не работает: Для просмотра ссылки Войди или Зарегистрируйся

Если убрать перенаправление:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* Для просмотра ссылки Войди или Зарегистрируйся [R,L]

При этом напрямую обращаться к url например: Для просмотра ссылки Войди или Зарегистрируйся и ходит по ссылкам, то все работает, соответственно кроме редиректа?

Подскажите, что ни так и помогите разобраться??
 
Разобрался:
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
 
Универсальный метод:
Код:
       RewriteEngine On
#редирект с http на https Apache
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [L,R=301]

#редирект с http на https Nginx
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}$1[L,R=301]
 
Универсальный метод:
Код:
       RewriteEngine On
#редирект с http на https Apache
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [L,R=301]

#редирект с http на https Nginx
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}$1[L,R=301]
Вечером попробую отпишусь, спасибо.

Вот так заметил, что админка перестала работать, т.е. добавление записей в базу например новостей:
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
 
RewriteEngine On
#редирект с http на https Apache
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [L,R=301]
Не заработало, браузер ругнулся на множественное перенаправление.


***********
Код:
SetEnvIf X-SSL-Emu on HTTPS=on
AddDefaultCharset UTF-8
Options -Indexes

DirectoryIndex index.php
ErrorDocument 404 /error
ErrorDocument 403 /error
RewriteEngine On
RewriteBase /

###### Redirect from http to https #######################
#RewriteCond %{SERVER_PORT} !^443$
#RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
##########################################################


RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule  ^((russian|english)[/$]){0,1}([^?]+)?$  index.php?lang=$2&link=$3 [NC,QSA,L]

Работает все, кроме, добавления из админки, svkament

RewriteCond %{REQUEST_URI} !^\/admin.php?

понимаю, что костыль, но пока быстрого решения не вижу. единственное, перестают загружаться шрифт, буду думать над решением данного вопроса.
 
Последнее редактирование:
Назад
Сверху