WebSite X5Help Center

 
Aleksander D.
Aleksander D.
User

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

Autor: Aleksander D.
Besucht 2868, Followers 1, Geteilt 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ć.

Gepostet am
19 ANTWORTEN - 5 NüTZLICH
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  

Mehr lesen
Gepostet am von 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]

Mehr lesen
Gepostet am von Darek J.
Aleksander D.
Aleksander D.
User
Autor

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

Mehr lesen
Gepostet am von Aleksander D.
Aleksander D.
Aleksander D.
User
Autor

Darku a mogę prosić o gotowca powiedzmy dla strony

www.XYZ.pl

chyba błędnie wpisuje adres w dyrektywie

Mehr lesen
Gepostet am von 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  

Mehr lesen
Gepostet am von Darek J.
Aleksander D.
Aleksander D.
User
Autor

Darku strzał w dziesiątkę


DZIĘKI

Mehr lesen
Gepostet am von 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  

Mehr lesen
Gepostet am von Darek J.
Aleksander D.
Aleksander D.
User
Autor

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>

Mehr lesen
Gepostet am von 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"?  

Mehr lesen
Gepostet am von Darek J.
Aleksander D.
Aleksander D.
User
Autor

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

Mehr lesen
Gepostet am von Aleksander D.
Aleksander D.
Aleksander D.
User
Autor

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>
Mehr lesen
Gepostet am von Aleksander D.
Aleksander D.
Aleksander D.
User
Autor

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

Mehr lesen
Gepostet am von 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  

Mehr lesen
Gepostet am von Darek J.
Aleksander D.
Aleksander D.
User
Autor

poszło

Mehr lesen
Gepostet am von 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"  

Mehr lesen
Gepostet am von Darek J.
Aleksander D.
Aleksander D.
User
Autor

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

Mehr lesen
Gepostet am von 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  

Mehr lesen
Gepostet am von Darek J.