Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] Przekierowania w .htaccess
Forum PHP.pl > Forum > Przedszkole
hanyse
Witam. Potrzebuje skompletować komplet przekierowań na moją stronę. Aktualnie mam problem przy braku przenosin z http://xxx.pl/xxx/ na https://xxx.pl/xxx/
Oto zawartość pliku .htaccess

Kod
RewriteEngine On

RewriteCond %{HTTP} off [OR]
RewriteCond %{HTTP} !=on
RewriteRule ^(.*)$ https://xxx.pl/$1 [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://xxx.pl/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://xxx.pl/$1 [R=301,L]


Ogólnie rzecz biorąc potrzebuje zrobić przekierowania z:
http://xxx.pl
http://www.xxx.pl
https://www.xxx.pl
...adres.pl/index.php(html)
na https://xxx.pl
Dodam jeszcze że chciałbym aby przekierowania działały również na podstrony np z http://xxx.pl/xxx/ na https://xxx.pl/xxx/
tenloginjestzajety
  1. RewriteCond %{HTTPS} off
  2. RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
  3. RewriteCond %{HTTP_HOST} ^www\.
  4. RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]


Nie wiem, dlaczego nie działa przekierowanie http://www... na https://...
  1. RewriteCond %{HTTPS} on
  2. RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
  3. RewriteCond %{HTTP_HOST} ^www\.
  4. RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
trueblue
Wyszukiwarka.
Temat: innePrzekierowanie htaccess
hanyse
Wszystkie przekierowania stron głównych działa, ale nie działają podstrony dla http (Dla https podstrony działają) Czyli dla przykładu:
z http://xxx.pl/xxx/ oraz http://www.xxx.pl/xxx/ na https://xxx.pl/xxx/

Dodam jeszcze że dla tych podstron z http przekierowanie działa dla www na zasadzie http://www.xxx.pl/xxx/ na http://xxx.pl/xxx/. Czyli kwestia zrobienia przekierowania z http://xxx.pl/xxx/ na https://xxx.pl/xxx/.
Oczywiście zamiast /xxx/ treść strony wpisana przez użytkownika

Podane propozycje testowałem, ale nie działają
trueblue
Pokaż cały .htaccess.
hanyse
Kod
# 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]
</IfModule>

# END WordPress

RewriteEngine On

RewriteCond %{HTTP} off [OR]
RewriteCond %{HTTP} !=on
RewriteRule ^(.*)$ https://domena.pl/$1 [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://domena.pl/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://domena.pl/$1 [R=301,L]
trueblue
Ale tu nie ma rozwiązania, które proponowałem.
hanyse
Gdy mam ustawione:
Kod
# 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]
</IfModule>

# END WordPress

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://domena.pl%{REQUEST_URI} [R=301,L]

Nie działa dodatkowo przekierowanie z:
http://xxx.pl na https://xxx.pl
Plus to co w poprzednio (Podstrony dla http://)
trueblue
Najpierw ustaw drugą sekcję reguł, potem pierwszą.
Dwukrotnie RewriteEngine On nie jest potrzebne.
hanyse
Nie pomogło. Dalej występują braki w przekierowaniach
trueblue
Pokaż cały .htaccess, po zmianach.
hanyse
Kod
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://domena.pl%{REQUEST_URI} [R=301,L]

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


Mam nadzieję że dobrze zrozumiałem.
trueblue
Wyczyść cache przeglądarki.
Reguły działają jeśli jest włączony mod_rewrite.
hanyse
Za każdym razem czyszczę. Co ciekawe problem występuje tylko dla mozilla firefox (Aktualnie brak przekierowań strona główna oraz podstrony dla http://) W innych przeglądarkach wszystko działa
trueblue
Przekierowania odbywają się po stronie serwera, więc nie są zależne od przeglądarki.
http://superuser.com/questions/467999/clea...ache-in-firefox
tenloginjestzajety
a nie masz problemu z certyfikatem na FF? Miałem taki problem.
Odnośnie przekierowań to u mnie nie działa z http://www.. na https:// oraz https://www na https://.. sprawdzam w trybie incognito oraz stosuje wszelkie możliwe kody, działa tylko 301 bez www. Faktyczni wina musi być po stronie serwera. Wysłałem zapytanie do hostingu, zobaczymy.

hosting odsyła mnie do pomocy konstruowania poleceń .htaccess.
Stosuje:
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} on [OR]
  3. RewriteCond %{HTTPS} off
  4. RewriteCond %{HTTP_HOST} ^www\.
  5. RewriteRule ^(.*)$ [url="https://jakasdomena.pl"]https://jakasdomena.pl[/url] [R=301,L]


Przekierowanie działa:
https://www.jakasdomena.pl > https://jakasdomena.pl
http://www.jakasdomena.pl > https://jakasdomena.pl

Nie działa:
http://jakasdomena.pl > https://jakasdomena.pl

Próbuje rozwiązać ten problem od kilku dni. Dzięki za pomoc.
trueblue
Wspominałeś hostingowi, że nie działa tylko na FF?

Tu masz przydatne narzędzie: http://htaccess.madewithlove.be/
Sprawdź jak się zachowują reguły dla różnych przypadków.
tenloginjestzajety
Nie wspominałem, używam certyfikatu najtańszego kupionego w home.pl - alpha tak przy okazji.. Hosting mam gdzie indziej. Sprawdzałem na website browser test i na IE do 9 też nie działa jak i na FF ( najnowsza aktualizacja ), certyfikat niezaufany .. Jestem zmuszony kupić nowy rapidSSL, który widzę, że działa wszędzie - nie wiem tylko jak to się ma do przekierowań.

  1. RewriteCond %{HTTP_HOST} ^www\. // This condition is not met.


Dzięki ( SUPER NARZĘDZIE ), będę próbować.

PS:
działa tak, ale chciałem zrobić jedno przekierowanie:
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} on [OR]
  3. RewriteCond %{HTTPS} off
  4. RewriteCond %{HTTP_HOST} ^www\.
  5. RewriteRule ^(.*)$ <a href="https://jakasdomena.pl" target="_blank">https://jakasdomena.pl</a> [R=301,L]
  6. RewriteCond %{HTTPS} off
  7. RewriteRule ^(.*)$ <a href="https://jakasdomena.pl" target="_blank">https://jakasdomena.pl</a> [R=301,L]
trueblue
Nie wiem skąd tam się wziął błąd, ale powinno być tak:
Kod
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://jakasdomena.pl [R=301,L]
tenloginjestzajety
też chciałem tego użyć, aby mieć jedno 301 w .htaccess. Niestety nie działa przekierowanie http://.. na https://.. Dlaczego nie wiem, zostaje przy dwóch ( nie mam wyjścia ):
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} on [OR]
  3. RewriteCond %{HTTPS} off
  4. RewriteCond %{HTTP_HOST} ^www\.
  5. RewriteRule ^(.*)$ [url="https://jakasdomena.pl"]https://jakasdomena.pl[/url] [R=301,L]
  6. RewriteCond %{HTTPS} off
  7. RewriteRule ^(.*)$ [url="https://jakasdomena.pl"]https://jakasdomena.pl[/url] [R=301,L]


Dzięki!
trueblue
Ale to co podałem jest inne od wcześniejszego.
tenloginjestzajety
Ok więc jest tak w przypadku certyfikatów. Trzeba rejestrować domenę z www, wtedy objęte są dwa adresy:
www.jakasomena.pl
jakasdomena.pl

Ja popełniłem błąd i zarejestrowałem ssl na jakasdomena.pl przez co www mam bez https i muszę robić 2 x 301.
Pozdrawiam i dziękuje za pomoc, przekierowania podane przez trueblue są poprawne.
trueblue
To wystarczy, że zakupisz drugi certyfikat na www.----
Nie jest Ci potrzebny certyfikat z wildcard jeśli nie będzie używał na domenie subdomen.
tenloginjestzajety
tak zrobię, dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.