WebSite X5Help Center

 
Aleksander D.
Aleksander D.
User

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

Auteur : Aleksander D.
Visité 2869, Followers 1, Partagé 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ć.

Posté le
19 RéPONSES - 5 UTILE
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  

Lire plus
Posté le de 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]

Lire plus
Posté le de Darek J.
Aleksander D.
Aleksander D.
User
Auteur

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

Lire plus
Posté le de Aleksander D.
Aleksander D.
Aleksander D.
User
Auteur

Darku a mogę prosić o gotowca powiedzmy dla strony

www.XYZ.pl

chyba błędnie wpisuje adres w dyrektywie

Lire plus
Posté le de 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  

Lire plus
Posté le de Darek J.
Aleksander D.
Aleksander D.
User
Auteur

Darku strzał w dziesiątkę


DZIĘKI

Lire plus
Posté le de 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  

Lire plus
Posté le de Darek J.
Aleksander D.
Aleksander D.
User
Auteur

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>

Lire plus
Posté le de 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"?  

Lire plus
Posté le de Darek J.
Aleksander D.
Aleksander D.
User
Auteur

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

Lire plus
Posté le de Aleksander D.
Aleksander D.
Aleksander D.
User
Auteur

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>
Lire plus
Posté le de Aleksander D.
Aleksander D.
Aleksander D.
User
Auteur

Ł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>

Lire plus
Posté le de 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  

Lire plus
Posté le de Darek J.
Aleksander D.
Aleksander D.
User
Auteur

poszło

Lire plus
Posté le de 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"  

Lire plus
Posté le de Darek J.
Aleksander D.
Aleksander D.
User
Auteur

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

Lire plus
Posté le de 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  

Lire plus
Posté le de Darek J.