Dyrektywa w pliku .htaccess - wymuszenie https://
Auteur : Aleksander D.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ć.
Witaj
A spróbuj takiego wpisu:
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
W
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301
"zawias" się nie zamknął
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Auteur
Nie pisałem, ale po cichu liczyłem na Twoją podpowiedź... dam znać co z tego wyszło
Auteur
Darku a mogę prosić o gotowca powiedzmy dla strony
www.XYZ.pl
chyba błędnie wpisuje adres w dyrektywie
Nic nie trzeba wpisywać
To co podałem "wklejasz" i nic nie zmieniasz
Auteur
Darku strzał w dziesiątkę
DZIĘKI
Auteur
Darku
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index.(php|html|htm)$ / [R=301,L]
a możesz nanieść poprawki aby było bez www
Auteur
:)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
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
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>
a w czym Ci adres "przeszkadza"?
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
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???
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>
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
Auteur
poszło
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"
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
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