× Aktuálně z oboru

Vychází Game Ready ovladače pro Far Cry 5 [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]
Celá zprávička [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]

Využití .htaccess na malém webu

[ http://programujte.com/profil/23748-vaclav-kosak/ ]Google [ https://plus.google.com/+VáclavKošák?rel=author ]       [ http://programujte.com/profil/24875-tomas-cada/ ]Google [ ?rel=author ]       25. 5. 2020       19 299×

V dnešní době existuje spoustu cms, které mnohdy ale vůbec nepotřebujeme a stačila by nám pouze základní funkčnost k úpravě url, přesměrování. K tomuto účelu je ideální .htaccess soubor, který nám se všemi těmato úpravami umí pomoct.

Dnešní doba nabízí spoustu jednoduchých cms, občas ale i toto může být pro nás zbytečné a chceme pouze uhladit url naší jednoduché struktury. K tomuto účelu lze využít .htaccess soubory, které nám s těmi úpravami pomohou. Jediná podmínka je, že web musí běžet někde na Apache serveru, to ale splňuje každý webhosting.

.htaccess je konfigurační soubor, který může být umístěn v hlavní složce, ale také v nějaké z podsložek, aby upravovala práci ve složce na potřebnou funkčnost. Tento konfigurační soubor nabízí spoustu možností, ale tento článek se zaměřuje hlavně na použití u malých webů. Na webu je tomuto tématu věnována celá série [ http://programujte.com/clanky/71-htaccess/ ]. Tento článek se tak zaměřuje na konkrétní a praktické využití tohoto souboru.

Úprava url adresy

Pokud máme php nebo html soubory a chtěli bychom jim jen odstranit jejich koncovku z url, tak stačí využít tento jednoduchý kód.

# Apache Rewrite Rules
 <IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /

# Pridani koncoveho lomitka
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
  RewriteRule ^(.*)$ $1/ [R=301,L]

# Odstraneni .html koncovky
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.html -f
  RewriteRule ^([^\.]+)/$ $1.html

# End of Apache Rewrite Rules
 </IfModule>

Kód je velmi jednoduchý a změna z html na php je v pouhém přejmenování dvou řádků.

HTTPS dnešní doba vyžaduje

V této době je https už prakticky vyžadováno. Soubor htaccess nabízí i na toto jednoduché přesměrování.

# https presmerovani
  RewriteEngine On
  RewriteCond %{SERVER_PORT} 80
  RewriteRule ^(.*)$ https://www.vase-domena.cz/$1 [R,L]

Přesměrování staré url adresy na novou 

Htaccess soubory se dají využívat i na přesměrování, které je výhodné využít například při přesměrování 301 (trvalé přesměrování), které se využije, když změníte URL na nějaké stránce.

Redirect 301 /puvodni-adresa /nova-adresa

Kódů na přesměrování je spousta a je tomu věnován jeden článek ze seriálu ohledně htaccess [ http://programujte.com/clanek/2005060703-htaccess-2-dil/ ].

A co chyby?

Další užitečné přesměrování může být například u chyby 404 nebo 405, které vždy uživatele přesměruje na zvolené url, které se stane při chybě.

ErrorDocument 404 /chybova-stranka

I tomuto tématu jsme se věnovali ve 2. článku ze série htaccess [ http://programujte.com/clanek/2005060703-htaccess-2-dil/ ]. Koho tedy zajímá víc, jak pracovat s chybami, tak rozhodně si přečíst ten článek.

Jak výsledný kód může vypadat?

Redirect 301 /puvodni-adresa /nova-adresa
Redirect 302 /puvodni-adresa /nova-adresa

# Apache Rewrite Rules
 <IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /

# https presmerovani
  RewriteEngine On
  RewriteCond %{SERVER_PORT} 80
  RewriteRule ^(.*)$ https://www.vase-domena.cz/$1 [R,L]

# Pridani koncoveho lomitka
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
  RewriteRule ^(.*)$ $1/ [R=301,L]

# Odstraneni .html koncovky
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.html -f
  RewriteRule ^([^\.]+)/$ $1.html

# End of Apache Rewrite Rules
 </IfModule>

ErrorDocument 404 /chybova-stranka
ErrorDocument 405 /chybova-stranka

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2020052100-vyuziti-htaccess-na-malem-webu/ ].