Za WordPress

Ovih dana od kada su svi počeli masovno da daju besplatan SSL koji je omogućio cPanel i Lets Encrypt pojavio se novi problem. Redirekcija na https i na www.

Zašto je bitno da se vrši redirekcija posetilaca, prosto razlog je uvek isti, zbog bolje pretrage na pretraživačima pogotovo na google. Google vaš sajt bez www i sa www gleda kao dva različita sajta. Isto važi i za https i http. Međutim kada je http tj https u pitanju to je još važnija stavka a to je bezbednost i bolje rangiranje zbog zaštite sajta i enkripcije.

Kako se radi redirekcija?
Jednostavno ulogujete se u cPanel nađete File Manager i u public_html folderu imate .htaccess fajl. Da sa sve tačkom. Ukoliko ga ne vidite onda znači da ne vidite sakrivene fajlove. Desni gornji ugao “Settings” i štiklirajte Show Hidden files and folders. Time će se pojaviti fajl.
Idete edit.

Ukoliko koristite wordpress vaš htaccess fajl bi trebao ovako da izgleda:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Ono što trebate da uradite jeste da ispod “RewriteEndgine On” dodate sledeće:

Sledeća dva reda su za redirekciju na https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Sledeća dva reda su za redirekciju na www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Što znači kompletan .htaccess fajl za redirekciju na https i www bi trebao da bude:
# BEGIN WordPress

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

To je sve!

Ukoliko nakon ovoga ne možete da otvorite sajt i dobijete nešto tipa: too many redirections to znači da nešto pokušava da redirektuje sajt na http a vi ste ovom izmenom redirekciju na https što je ušlo u beskonačnu petlju.

Ukoliko koristite cloudflare a tamo ste podesili http to je uzrok kod 99% ljudi onda na cloudflare izmenite da redirektuje na https i problem će biti rešen.

 

Za ostale sajtove

Ako želite samo redirekciju na https bez www onda sledeći kod sačuvajte u vaš .htaccess fajl:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ako želite redirekciju na https i na www onda sledeći kod sačuvajte u vaš .htaccess fajl:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Objavljeno: