WordPress-regler har også undtagelser

wordpress apache

wordpress apacheWordPress lavede et stort evolutionært skridt fremad i bloggingplatformen og flyttede det tættere på et fuldt udbygget indholdsstyringssystem med revisionssporing, mere support til brugerdefinerede menuer og – den mest spændende funktion for mig – support på flere websteder med domænekortlægning.

Hvis du ikke er en junkie til indholdsstyringssystem, er det okay. Du kan springe lige forbi denne artikel. Men for mine andre techno-nørder, kodehoveder og apache-dabblere vil jeg dele noget interessant og noget sejt.

Multi-site er en funktion, der giver dig mulighed for at køre et vilkårligt antal WordPress-websteder med en enkelt WordPress-installation. Hvis du administrerer flere sider, er det rart, fordi du kan installere en godkendt gruppe af temaer og widgets og aktivere dem til dine klientsites. Der er et par tekniske forhindringer for at kortlægge dine domæner, men processen er ikke vanskelig.

Et af de problemområder, jeg identificerede, er tematilpasning. Da temaer kan gøres tilgængelige på flere websteder, vil enhver tilpasning, du foretager til et tema, også påvirke andre steder, der bruger dette tema på din installation med flere websteder. Min vej rundt dette er at duplikere et tema, før jeg begynder at tilpasse, og tydeligt navngive temaet for det klientside, jeg styler det til.

Et andet interessant problem er, hvad der sker i .htaccess-filen på din Apache-server. WordPress har brug for at omskrive stier på en blog-for-blog-basis og gør dette med en omskrivningsregel og en php-fil.

WordPress bruger følgende omskrivningsregel:

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

I det væsentlige bliver alt, der findes i en underkatalog på mysite.com/files/directory, omskrevet til mysite.com/files/wp-includes/myblogfolderpath…, og det er her, det bliver interessant. Hvad sker der, hvis du faktisk har brug for en fil på din server, der er mysite.com/files/myfolder/myimage.jpg? Du får en 404-fejl, det er hvad der sker. Apache-omskrivningsreglen sparker ind og ændrer stien.

Indrømmet, du kommer muligvis aldrig over dette problem, men det gjorde jeg. Jeg havde et websted, der havde brug for en javascript-widget fra et andet websted, og det var nødvendigt at finde grafik på mysite.com/files/Images/myfile. Da der ikke var nogen måde at ændre filen på værtssitet, havde jeg brug for at finde ud af en måde at gøre dette på min server. Den nemme løsning er at oprette en omskrivningsbetingelse, der gør en undtagelse 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]

Omskrivningsbetingelserne skal placeres før omskrivningsreglen, ellers fungerer dette trick ikke. Det skal være let at ændre denne betingelse til dine egne formål, hvis du støder på et lignende problem. Løsningen fungerede godt for mig og tillod mig at erstatte brugerdefineret grafik i stedet for den mindre ønskelige alt-tekst, der ikke passede til mit design. Forhåbentlig fungerer det også for dig.

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.