Tudi pravila WordPress imajo izjeme

wordpress apache

wordpress apacheWordPress je naredil velik evolucijski korak naprej v blogerski platformi in ga približal polnopravnemu sistemu za upravljanje vsebin s sledenjem revizijam, večjo podporo menijem po meri in - zame najbolj zanimiva funkcija - podpora za več spletnih mest s preslikavo domen.

Če niste odvisnik od sistema za upravljanje vsebin, je v redu. Lahko preskočite tik mimo tega članka. Toda za svoje kolege tehno-geeke, code-heads in apache-dabblers želim deliti nekaj zanimivega in nekaj kul.

Multi-site je funkcija, ki omogoča zagon poljubnega števila spletnih mest WordPress z eno samo namestitvijo WordPress. Če upravljate več spletnih mest, je lepo, ker lahko namestite odobreno skupino tem in pripomočkov ter jih aktivirate za svoja odjemalska spletna mesta. Obstaja nekaj tehničnih ovir za preslikavo vaših domen, vendar postopek ni težaven.

Eno izmed problematičnih področij, ki sem ga opredelil, je prilagajanje tem. Ker so teme na voljo več spletnim mestom, bodo kakršne koli prilagoditve teme vplivale tudi na vsa druga spletna mesta, ki uporabljajo to temo pri namestitvi več spletnih mest. Moj način je, da podvojim temo, preden začnem prilagajati, in jasno poimenujem temo za stran stran, za katero jo oblikujem.

Druga zanimiva težava je, kaj se zgodi v datoteki .htaccess na vašem strežniku Apache. WordPress mora prepisovati poti za vsak blog posebej, in to s pravilom prepisovanja in datoteko php.

WordPress uporablja naslednje pravilo prepisovanja:

RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-includes / ms-files.php? File = $ 2 [L]

V bistvu se vse, kar je v podimeniku mysite.com/files/directory, prepiše na mysite.com/files/wp-includes/myblogfolderpath… in tu postane zanimivo. Kaj se zgodi, če morate na svojem strežniku dejansko imeti datoteko mysite.com/files/myfolder/myimage.jpg? Prikaže se napaka 404, to se zgodi. Pravilo prepisovanja Apache začne in spremeni pot.

Seveda morda nikoli ne boste naleteli na to težavo, vendar sem se. Imel sem spletno mesto, ki je moralo uporabiti pripomoček javascript z drugega spletnega mesta, grafiko pa je bilo treba najti na spletnem mestu mysite.com/files/Images/myfile. Ker datoteke na gostiteljski strani ni bilo mogoče spremeniti, sem moral najti način, kako to narediti na svojem strežniku. Enostavna rešitev je ustvariti pogoj za prepisovanje, ki naredi izjemo za določene datoteke.

Tukaj je rešitev:

RewriteCond% {REQUEST_URI}! /? Files / Image / file1.jpg $
RewriteCond% {REQUEST_URI}! /? Files / Image / file2.jpg $
RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-includes / ms-files.php? File = $ 2 [L]

Pogoje za ponovno pisanje je treba postaviti pred pravilo za ponovno pisanje, sicer ta trik ne bo deloval. Če naletite na podobno težavo, bi to stanje lahko enostavno spremenili za lastne potrebe. Rešitev se mi je odlično obnesla in mi je omogočila, da sem nadomestil grafiko po meri in ne manj zaželeno nadomestno besedilo, ki ni ustrezalo moji zasnovi. Upajmo, da bo delovalo tudi pri vas.

Kaj menite?

Ta stran uporablja Akismet za zmanjšanje nezaželene pošte. Preberite, kako se vaš komentar obravnava.