![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z wymuszeniem połączenia ssl na stronie. Mam postawiony apache2 z uruchomiona obłsuga SSL. Jak wpisze ręcznie https:// strona otwiera się bez zadnego błędu lecz chce aby konkretne podstrony otwierały sie w połączeniu szyfrowanym. Tzn ze np. xyz.pl/0.1.0/index.php ma byc w normalnym połączniu a xyz.pl/0.1.0/index.php?page=login_ssl w połączeniu szyfrowanym. Miałem juz kilka podejsc lecz za każdym razem wymuszało ssl na całą stronę a nie poszczególną podstronę (stronę logowania) Prosze o jakąś pomoc. Pozdrawiam Marles Od razu sorry za dubel postów, ale sprawa jest dość pilna. Ewentualnie czy jest możliwość aby w .htaccess ustawić tak ze, adresy zawierające xyz.pl/0.1.0/index.php?page=login_ssl będą w normalnie w http a adresy zawierające xyz.pl/0.1.0/index.php?secure=login_ssl w https ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
http://eriz.pcinside.pl/weblog/mod_rewrite...ac-208.html#t44
w twoim przypadku wyglądało by to tak: Kod RewriteCond %{HTTPS} off
RewriteRule ^/index.php?page=login_ssl https://%{HTTP_HOST}%{REQUEST_URI} [R,L] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
no dobra takie coś jus stosowałem, lecz po przejściu w https wybiorę stronę główna to i tak dalej zostaje w https a powinno przejść w http. Czy istnieje jakaś możliwość żeby w index.php wstawić regule która będzie przekierowywała jeśli w adresie znajdzie się secure ?
cos w stylu Kod if ($_GET['secure']) header ('Location: https://xxx.pl/index.php?secure=login_ssl); z tym ze coś z tym warunkiem jest nie tak bo tworzy się pętla i nie wiem jak zrobić żeby działało i żeby zamiast https://xxx.pl/index.php?secure=login_ssl była reguła która przepisywała by adresy dodając https z przodu bo stron w https będzie więcej. temat można zamknąć... już sobie poradziłem sam. Wstawiłem takie oto warunki w index.php
Ten post edytował Marles93 20.10.2011, 13:15:02 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nawet nie zajrzałeś do linka który ci podałem (IMG:style_emoticons/default/smile.gif)
Kod RewriteCond %{HTTPS} on
RewriteRule ^/(^[rejestracja|logowanie]) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na podaną przez Ciebie stronę zaglądałem już kilka razy. Ale takie rozwiązanie jak ja zrobiłem akurat do mojej strony jest moim zdaniem lepsze.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Na podaną przez Ciebie stronę zaglądałem już kilka razy. Ale takie rozwiązanie jak ja zrobiłem akurat do mojej strony jest moim zdaniem lepsze. No to skoro wiesz lepiej, nie rozumiem czemu pytasz się o pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie mówię, że wiem lepiej. Po prostu trochę trwało zanim to ogarnąłem dlatego poprosiłem o pomoc. Tylko trochę to trwało zanim ktoś mi odpowiedział. Ale mniejsza o to, ważne że działa.
Nie chce tworzyć nowego tematu wiec podpinam to pod ten. Czy idzie jakoś w htaccess zrobić tak żeby zmienić wyświetlany adres ? tak wygląda mój aktualny htaccess Kod Options FollowSymLinks RewriteEngine on RewriteRule ^secure/logowanie$ /0.9.2/index.php?secure=have_acc1 [R=301,L] po wpisaniu w adresie domena.pl/secure/logowanie otwiera mi się tak jak powinno domena.pl/0.9.2/index.php?secure=have_acc1. Chciałbym teraz żeby w pasku adresu zmienić wyświetlany adres, bo wpisaniu domena.pl/secure/logowanie i po załadowaniu strony pokazuje się oryginalny adres czyli domena.pl/0.9.2/index.php?secure=have_acc1 a chciałbym ze został secure/logowanie Ten post edytował Marles93 26.10.2011, 20:42:41 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteRule ^secure/logowanie$ /0.9.2/index.php?secure=have_acc1 [L] Tutaj masz info: http://eriz.pcinside.pl/weblog/mod_rewrite...zac-208.html#t2 Dokładnie chodzi o ten kawałek: Kod [R] - zamiast ukrycia prawdziwego adresu skryptu, serwer na niego przekierowuje (po ludzku: przeglądarka otwiera go tak, jakby był wpisany bezpośrednio do paska adresu). Opcjonalnie przyjmuje kod przekierowania, np. [R=301] Nie to że chcę być złośliwy, tylko na prawdę, jakbyś przeczytał od deski do deski tamten wpis na blogu, to uwierz mi że większość problemów z htaccess byś rozwiązał właśnie za jego sprawą, bez powodu ci tutaj nie podałem tego linku, zauważ zresztą że już drugi raz w tym samym temacie go podaję. Na przyszłość, na prawdę chociaż wykaż odrobinę inicjatywy i zajrzyj nawet pobieżnie do materiałów które ktoś ci daje - ja tak zawszę robię. Jak się okazują beznadziejne to i tak przeważnie w połowię zamykam taką stronę. Ale tamten wpis IMO w 90% wyczerpuje temat htaccess. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dobra działa... nie wiem czego to była wina dokładnie bo próbowałem na samym początku z sama flagą [L]. Wczoraj po formacie załapało mi w przeglądarce jak powinno.
I uwierz że czytałem ten artykuł kilka razy i parę innych artykułów także. Odziwo u mojego kolegi który ma własny serwer i własną stronę reguła z flagą [L] też nie działało więc bez powodu tutaj nie pisze ... |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wiesz porównaj sobie to co podałeś że ci niedziała, z tym co ja ci dałem. Jedyne co usunąłem to z flagi wywaliłem przekierowanie: "R=301," nic więcej nie zrobiłem. Może linijkę wcześniej miałeś jakiś błąd który później poprawiłeś. Ciężko powiedzieć (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
A tak wracajac do tego jeszcze...
Nawet nie zajrzałeś do linka który ci podałem (IMG:style_emoticons/default/smile.gif) Kod RewriteCond %{HTTPS} on RewriteRule ^/(^[rejestracja|logowanie]) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] Jak dobrze rozumiem w nawiasie kwadratowym podaje się strony które nie maja być brane pod uwagę ? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak dobrze rozumiem w nawiasie kwadratowym podaje się strony które nie maja być brane pod uwagę ? Tak, sygnalizuje o tym daszek "^" który oznacza zaprzeczenie. W tej regułce te strony tylko nie będą brane pod uwagę jeżeli chodzi o połączenie https, czyli wymienione strony, są stronami które zostaną pominięte przy przekierowaniu na zwykłe połączenie http, wszystkie inne niż podane zostaną przekierowane na http. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
to nie wiem co robię źle ale nie działa mi ;/
Kod #http > https RewriteCond %{HTTPS} off RewriteRule (have_acc|have_acc_1|register_2|order|twoje_konto_login) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] #https > http RewriteCond %{HTTPS} on RewriteRule (^[have_acc|have_acc_1|register_2|order|twoje_konto_login]) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] z http na https działa ale w druga stronę nie ;/ próbowałem już kilka kombinacji dodając z przodu ^/ ale tez nic... nie mogę dojść do ładu z tym ... Kod #http > https RewriteCond %{HTTPS} off RewriteRule (have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] #https > http RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !^(have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list) [NC] RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] teoretycznie działa. Gdy wchodzę na jakąś stronę która nie jest w nawiasie i próbuje wejść na https to przeuca mnie na http. Ale... Jak wchodzę np na have_acc które powinno być w https tworzy się pętla i pokazuje się Cytat Nieprawidłowe przekierowanie Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie. Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek. Nie wiem co jest źle z tymi regułami. Już mi ręce opadają. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kod #http > https RewriteCond %{HTTPS} off RewriteRule ^/(have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R,L] #https > http RewriteCond %{HTTPS} on RewriteRule ^/(^[have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list]) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R,L] ? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli wstawie ^/ przed nawiasami to nie działa (pewnie dla tego ze adres wyglada domena.pl/0.0.1/index.php) tak więc usunąłem te znaczniki i jest taka sama sytuacja jak wcześniej... Wywala pętle.
Cytat [12:35:28.454] GET http://domena.pl/0.0.1/have_acc_1 [HTTP/1.1 302 Found 5422ms]
[12:35:33.893] GET https://domena.pl/0.0.1/have_acc_1 [HTTP/1.1 302 Found 250ms] [12:35:34.152] GET http://domena.pl/0.0.1/have_acc_1 [HTTP/1.1 302 Found 1813ms] [12:35:35.982] GET https://domena.pl/0.0.1/have_acc_1 [HTTP/1.1 302 Found 172ms] [12:35:36.164] GET http://domena.pl/0.0.1/have_acc_1 [HTTP/1.1 302 Found 156ms] [12:35:36.334] GET https://domena.pl/0.0.1/have_acc_1 [HTTP/1.1 302 Found 31ms] |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Stad u ciebie {REQUEST_URI} się wzięło. Następnym razem musisz podawać takie informację, bo ja myślałem że strona logowania przykładowo ma wyglądać tak: domena.pl/twoje_konto_login a w takim wypadku to albo podasz ten kolejny "parametr" wtedy regułka wyglądała by tak:
Kod #http > https RewriteCond %{HTTPS} off RewriteRule ^/0.0.1/(have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R,L] #https > http RewriteCond %{HTTPS} on RewriteRule ^/0.0.1/(^[have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list]) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R,L] Albo takie w sumie poszukiwanie czy w adresie znajduje się podany ciąg: Kod #http > https RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} (have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list) RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] #https > http RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} (^[have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list]) RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] Nie testowałem, sprawdź czy zadziała. Ten post edytował by_ikar 31.10.2011, 12:50:39 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
w pierwszych postach podawałem dokładny adres.
Oczywiście plik htaccess umieszczony jest w folderze 0.0.1 Niestety 1 sposób nie działa ani z http na https ani odwrotnie. Po usunięciu ^/0.0.1/ z http na http działa. w druga stronę ni cholery ;/ drugi sposób też nie działa... tak jakby nie brał pod uwagę tego kawałka Kod (^[have_acc|have_acc_1|register_2|order|twoje_konto_login|user.edit|order.list]) ktoś ma pomysł jak zlikwidować ta pętle ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 08:25 |