Digitalna papazjanija

Prikažite sajt iz foldera direktno u root-u domena [URL Rewrite]

Recimo da imate blog na adresi www.mojsajt.com/blog i posle nekog vremena rešite da na tom domenu (mojsajt.com) imate samo blog, tj. da želite da adresa bloga bude www.mojsajt.com bez podfoldera /blog.

Ili npr, iz bilo kog razloga, redovno menjate kompletan dizajn i organizaciju sajta, pa vam je nezgodno da stalno brišete stare fajlove, bazu i sve ostalo da bi postavljali novi. Ili jednostaavno želite da izbegnete downtime dok menjate nešto na sajtu. Ili imate kopiju sajta za ne-daj-bože i nešto vam se dogodi sa glavnim sajtom (loš update, deface, štagod…). Ili jednostavno klijent želi da njegov sajt sa adrese www.sajtfirme.com/wordpress prebacite na www.sajtfirme.com

Najjednostavnije rešenje je da se ne zezate sa kopiranjem fajlova, promenom adresa, promenom svih backlinkova i šta ti ja znam čega već što ovaj posao čini nemogućim, već da odradite jednostavan URL Rewrite.

Pretpostavimo da na sajtu imate i forum ili direktorijum za download fajlova ili mesto gde vam stoje baneri ili šta god, i da te foldere želite da ostavite kao što jesu. Za to je potrebno naglasiti da se takve putanje ne menjaju, tj da server na njih gleda kao i do sada.

Ja sam npr. imao slučaj, prilikom redizajna PulseOne.org portala novu verziju moram da postavim u podfolder /v2 a kasnije verzije u /v3 itd. a nisam želeo da mi se adresa sajta svaki put menja, već je ideja bila da sajt uvek bude dostupan na root-u domena, tj. www.pulseone.org.

Da bi ovo jednostavno odradili, potrebno je samo da u root-u vašeg domena napravite .htaccess fajl (proverite, verovatno isti već postoji) i na vrhu dodajte sledeći sadržaj:

[bash]
RewriteEngine On

# putanje za koje zelite da ostanu nepromenjene
RewriteRule ^forum/.*$ – [PT]
RewriteRule ^banners/.*$ – [PT]
RewriteRule ^download/.*$ – [PT]

# folder koji zerlite da predstavite kao da je u root-u domena
# u ovom slucaju /blog/ a kod vas moze biti /cms/ ili /wordpress/
RewriteCond %{HTTP_HOST} ^mojsajt\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mojsajt\.com$
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule (.*) /blog/$1 [L,NE]
[/bash]

Dakle, zamenite samo mojsajt.com vašim domenom i ime podfoldera (u primeru je naveden podfolder /blog/) imenom vašeg foldera.

NAPOMENA: @miskolino mi je skrenuo pažnju da, u slučaju da menjate adresu WordPress bloga, morate u podešavanjima u admin panelu samog WPa promeniti i “WordPress address (URL)” u “General Settings“.