WebSite X5Help Center

 
Aleksander D.
Aleksander D.
User

Dyrektywa w pliku .htaccess - wymuszenie https://  pl

Author: Aleksander D.
Visited 2699, Followers 1, Shared 0  

Uzyskanie pomocy od home.pl graniczy z cudem, więc proszę kolegów o pomoc w połączeniu paru przekierowań. Dotychczas mój plik wyglądał następująco.


RewriteEngine On
RewriteCond %{HTTP_HOST} ^XXXXXX.pl$ [NC]
RewriteRule ^(.*)$ http://www.XXXXXX.pl/$1 [R=301,L]
RewriteRule ^index.(php|html|htm)$ / [R=301,L]
RewriteRule ^([a-z0-9-_]+)/index.(php|html|htm)$ /$1/ [R=301,L]
RewriteRule ^(.+)/$ /$1 [L,R=301]
<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|swf|JPG)$">
Header set Cache-Control "max-age=700000, public"
</FilesMatch>
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=700000, private"
</FilesMatch>
</IfModule>


Niestety aby zadziałał certyfikat muszę dodać przekierowanie z http:// na https://
Strona pomocy home.pl

https://pomoc.home.pl/baza-wiedzy/przekierowanie-301-w-pliku-htaccess/#www

mówi aby zastosować wpis:

RewriteEngine On
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*)$ https://www.domena.pl/$1 [R=301,L]

I pozostało to teraz ładnie połączyć.

Posted on the
19 ANSWERS - 5 USEFUL
Darek J.
Darek J.
User

Witaj 

A spróbuj takiego wpisu:

  1. RewriteCond %{HTTPS} off
  2. # Najpierw na HTTPS:
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  4. # Teraz bez www na www (to jest opcjonalne)
  5. RewriteCond %{HTTP_HOST} !^www\.
  6. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Czyli powinno to wyglądać u Ciebie tak:

RewriteEngine On

RewriteCond %{HTTPS} off
# Najpierw na HTTPS:
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Teraz bez www na www (to jest opcjonalne)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301
RewriteRule ^index.(php|html|htm)$ / [R=301,L]
RewriteRule ^([a-z0-9-_]+)/index.(php|html|htm)$ /$1/ [R=301,L]
RewriteRule ^(.+)/$ /$1 [L,R=301]

<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|swf|JPG)$">
Header set Cache-Control "max-age=700000, public"
</FilesMatch>
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=700000, private"
</FilesMatch>
</IfModule>

Pozdrawiam  

Read more
Posted on the from Darek J.
Darek J.
Darek J.
User

RewriteRule ^(.*)https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301

"zawias" się nie zamknął 

RewriteRule ^(.*)https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Read more
Posted on the from Darek J.
Aleksander D.
Aleksander D.
User
Author

Nie pisałem, ale po cichu liczyłem na Twoją podpowiedź... dam znać co z tego wyszło

Read more
Posted on the from Aleksander D.
Aleksander D.
Aleksander D.
User
Author

Darku a mogę prosić o gotowca powiedzmy dla strony

www.XYZ.pl

chyba błędnie wpisuje adres w dyrektywie

Read more
Posted on the from Aleksander D.
Darek J.
Darek J.
User
Aleksander D.
chyba błędnie wpisuje adres w dyrektywie

Nic nie trzeba wpisywać 

To co podałem "wklejasz" i nic nie zmieniasz  

Read more
Posted on the from Darek J.
Aleksander D.
Aleksander D.
User
Author

Darku strzał w dziesiątkę


DZIĘKI

Read more
Posted on the from Aleksander D.
Darek J.
Darek J.
User

Witaj Aleksander 

Najpierw zmieniasz:

#bez www
RewriteCond %{HTTP_HOST} ^www.domena.pl$ [NC]
RewriteRule ^(.*)$ http://domena.pl/$1 [R=301,L]

i później dopisujesz (pod spodem):

#Przekierowanie na https
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*)$ https://domena.pl/$1 [R=301,L]

oczywiście adres domena.pl zamieniasz na własny  

Read more
Posted on the from Darek J.
Aleksander D.
Aleksander D.
User
Author

A jest możliwość bez adresów strony tak jak podałeś mi wcześniej tylko z www???

RewriteEngine On

RewriteCond %{HTTPS} off
# Najpierw na HTTPS:
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Teraz bez www na www (to jest opcjonalne)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index.(php|html|htm)$ / [R=301,L]
RewriteRule ^([a-z0-9-_]+)/index.(php|html|htm)$ /$1/ [R=301,L]
RewriteRule ^(.+)/$ /$1 [L,R=301]

<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|swf|JPG)$">
Header set Cache-Control "max-age=700000, public"
</FilesMatch>
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=700000, private"
</FilesMatch>
</IfModule>

Read more
Posted on the from Aleksander D.
Darek J.
Darek J.
User
Aleksander D.
A jest możliwość bez adresów strony tak jak podałeś mi wcześniej tylko z www??? ...

a w czym Ci adres "przeszkadza"?  

Read more
Posted on the from Darek J.
Aleksander D.
Aleksander D.
User
Author

Jak dobrze pamiętam przy tak długiej dyrektywie był problem z certyfikatem i wtedy dostałem od Kolegi (i tu kolejny raz dziękuje) gotowca bez adresów. .. Tylko w tym przypadku te straszne www

Read more
Posted on the from Aleksander D.
Aleksander D.
Aleksander D.
User
Author

Sprawdziłem i nie jest to problem z certyfikatem

tylko z przekierowaniem strony z www na bez www


Darek czy możesz zmodyfikować wcześniejszą dyrektywę która działa bez zarzutu tylko z www???

Aleksander D.
A jest możliwość bez adresów strony tak jak podałeś mi wcześniej tylko z www??? RewriteEngine On RewriteCond %{HTTPS} off # Najpierw na HTTPS: RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Teraz bez www na www (to jest opcjonalne) RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule ^index.(php|html|htm)$ / [R=301,L] RewriteRule ^([a-z0-9-_]+)/index.(php|html|htm)$ /$1/ [R=301,L] RewriteRule ^(.+)/$ /$1 [L,R=301] <IfModule mod_headers.c> <FilesMatch "\.(jpg|jpeg|png|gif|swf|JPG)$"> Header set Cache-Control "max-age=700000, public" </FilesMatch> <FilesMatch "\.(css|js)$"> Header set Cache-Control "max-age=700000, private" </FilesMatch> </IfModule>
Read more
Posted on the from Aleksander D.
Aleksander D.
Aleksander D.
User
Author

Ładnie wyszła w cytacie

RewriteEngine On

RewriteCond %{HTTPS} off
# Najpierw na HTTPS:
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Teraz bez www na www (to jest opcjonalne)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index.(php|html|htm)$ / [R=301,L]
RewriteRule ^([a-z0-9-_]+)/index.(php|html|htm)$ /$1/ [R=301,L]
RewriteRule ^(.+)/$ /$1 [L,R=301]

<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|swf|JPG)$">
Header set Cache-Control "max-age=700000, public"
</FilesMatch>
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=700000, private"
</FilesMatch>
</IfModule>

Read more
Posted on the from Aleksander D.
Darek J.
Darek J.
User

Witaj Aleksander 

Podeślij mi na e-mail plik .htaccess z wpisanym poprawnie/prawidłowym adresem domeny 
Czyli tym co "nie działa" prawidłowo 

darektiger[małpa]o2[kropka]pl  

Read more
Posted on the from Darek J.
Aleksander D.
Aleksander D.
User
Author

poszło

Read more
Posted on the from Aleksander D.
Darek J.
Darek J.
User

Według moich "sprawdzonych" testów 
wszystko działa poprawnie 

Tak dla ogólnej wiadomości 
Jak robicie testy stron 
to róbcie je na kilka sposobów, kilkoma "audytorami" itp 
a nie trzymajcie się tylko "jednego wyniku"  

Read more
Posted on the from Darek J.
Aleksander D.
Aleksander D.
User
Author

Tak przekierowanie fizycznie działa.
Tylko w przypadku innej strony z https:/www podany audyt odczytuje ją poprawnie, a przy przekierowaniu bez www odczytuje jako brak przekierowania.

Pytanie które mnie nurtuje to czy google nie potraktuje tego jak duplicate content

Read more
Posted on the from Aleksander D.
Darek J.
Darek J.
User
Aleksander D.
...Pytanie które mnie nurtuje to czy google nie potraktuje tego jak duplicate content...

No to i wiele innych pytań uzyskasz odpowiedź wchodząc na swoje konto
w Search Console 

https://www.google.com/webmasters/tools/home?hl=pl  

Read more
Posted on the from Darek J.