WordPress-regler har også unntak

wordpress apache

wordpress apacheWordPress gjorde et stort evolusjonært skritt fremover i bloggplattformen, og flyttet det nærmere et fullverdig innholdshåndteringssystem med revisjonssporing, mer støtte for tilpassede menyer og - den mest spennende funksjonen for meg - støtte for flere nettsteder med domenkartlegging.

Hvis du ikke er en narkoman for innholdsstyringssystem, er det greit. Du kan hoppe rett forbi denne artikkelen. Men for mine andre techno-geeks, code-heads og apache-dabblers, vil jeg dele noe interessant og noe kult.

Multi-site er en funksjon som lar deg kjøre et hvilket som helst antall WordPress-nettsteder med en enkelt WordPress-installasjon. Hvis du administrerer flere nettsteder, er det fint fordi du kan installere en godkjent gruppe med temaer og widgets, og aktivere dem for klientsidene dine. Det er noen få tekniske hindringer for å kartlegge domenene dine, men prosessen er ikke vanskelig.

Et av problemområdene jeg identifiserte er tematilpasning. Siden temaer kan gjøres tilgjengelige på flere nettsteder, vil eventuelle tilpasninger du gjør til et tema også påvirke andre nettsteder som bruker dette temaet på installasjonen på flere nettsteder. Min vei rundt dette er å duplisere et tema før jeg begynner å tilpasse, og tydelig navngi temaet for klientsiden jeg styler det for.

Et annet interessant problem er hva som skjer i .htaccess-filen på Apache-serveren. WordPress trenger å skrive stier på en blog-for-blog-basis, og gjør dette med en omskrivingsregel og en php-fil.

WordPress bruker følgende omskrivingsregel:

RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Filer /(.+) wp-inkluderer / ms-filer.php? Fil = $ 2 [L]

I hovedsak blir alt som er i en underkatalog til mysite.com/files/directory omskrevet til mysite.com/files/wp-includes/myblogfolderpath…, og det er her det blir interessant. Hva skjer hvis du faktisk trenger å ha en fil på serveren din som er mysite.com/files/myfolder/myimage.jpg? Du får en 404-feil, det er hva som skjer. Apache-omskrivingsregelen sparker inn og endrer banen.

Gitt, du kommer kanskje aldri over dette problemet, men det gjorde jeg. Jeg hadde et nettsted som trengte å bruke en javascript-widget fra et annet nettsted, og det trengte å finne grafikk på mysite.com/files/Images/myfile. Siden det ikke var noen måte å endre filen på vertssiden, trengte jeg å finne ut en måte å gjøre dette på serveren min. Den enkle løsningen er å lage en omskrivningsbetingelse som gjør et unntak for bestemte filer.

Her er løsningen:

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

Omskrivingsbetingelsene må plasseres før omskrivingsregelen, ellers fungerer ikke dette trikset. Det bør være enkelt å endre denne tilstanden for dine egne formål, hvis du skulle støte på et lignende problem. Løsningen fungerte bra for meg, slik at jeg kunne erstatte tilpasset grafikk i stedet for den mindre ønskelige alt-teksten som ikke passet til designet mitt. Forhåpentligvis vil det også fungere for deg.

Hva tror du?

Dette nettstedet bruker Akismet for å redusere spam. Lær hvordan kommentaren din behandles.