Arī WordPress noteikumiem ir izņēmumi

wordpress apache
Lasīšanas laiks: 2 protokols

wordpress apacheWordPress emuāru platformā ir spēris ievērojamu evolucionāru soli uz priekšu, tuvinot to pilnvērtīgai satura pārvaldības sistēmai ar pārskatīšanas izsekošanu, lielāku atbalstu pielāgotajām izvēlnēm un - man visinteresantāko funkciju - vairāku vietņu atbalstu ar domēnu kartēšanu.

Ja neesat satura pārvaldības sistēmas junkie, tas ir labi. Jūs varat izlaist tieši garām šim rakstam. Bet saviem kolēģiem tehnogeķiem, koda vadītājiem un apache-dabblers es vēlos dalīties ar kaut ko interesantu un kaut ko foršu.

Vairāku vietņu funkcija ir funkcija, kas ļauj darbināt jebkuru skaitu WordPress vietņu ar vienu WordPress instalāciju. Ja jūs administrējat vairākas vietnes, tas ir jauki, jo jūs varat instalēt apstiprinātu tēmu un logrīku grupu un aktivizēt tos klientu vietnēm. Jūsu domēnu kartēšanai ir daži tehniski šķēršļi, taču process nav grūts.

Viena no manis identificētajām problemātiskajām jomām ir tēmas pielāgošana. Tā kā motīvus var padarīt pieejamus vairākām vietnēm, visi tēmas pielāgojumi ietekmēs arī visas citas vietnes, kuras izmanto šo motīvu vairāku vietņu instalācijā. Mans veids, kā to izdarīt, ir dublēt tēmu, pirms sāku pielāgot, un skaidri nosaukt tēmu klienta vietnei, kurai to veidoju.

Vēl viens interesants jautājums ir tas, kas notiek jūsu Apache servera .htaccess failā. WordPress ir jāpārraksta ceļi pa blogiem pa blogiem, un tas tiek darīts ar pārrakstīšanas kārtulu un php failu.

WordPress izmanto šādu pārrakstīšanas kārtulu:

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

Būtībā viss, kas atrodas mysite.com/files/directory apakšdirektorijā, tiek pārrakstīts uz mysite.com/files/wp-includes/myblogfolderpath ..., un tieši šeit tas kļūst interesants. Kas notiek, ja jūsu serverī patiešām ir jābūt failam, kas ir mysite.com/files/myfolder/myimage.jpg? Jūs saņemat kļūdu 404, tas notiek. Apache pārrakstīšanas kārtula sāk darboties un maina ceļu.

Protams, jūs nekad nevarat saskarties ar šo problēmu, bet es to izdarīju. Man bija vietne, kurai bija jāizmanto javascript logrīks no citas vietnes, un tai bija jāatrod grafika vietnē mysite.com/files/Images/myfile. Tā kā resursdatora vietnē nebija iespējas mainīt failu, man vajadzēja izdomāt veidu, kā to izdarīt manā serverī. Vienkāršs risinājums ir izveidot pārrakstīšanas nosacījumu, kas paredz izņēmumu konkrētiem failiem.

Šeit ir risinājums:

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

Pārrakstīšanas nosacījumi ir jānovieto pirms pārrakstīšanas kārtulas, pretējā gadījumā šis triks nedarbosies. Būtu viegli modificēt šo nosacījumu savām vajadzībām, ja rodas kāda līdzīga problēma. Risinājums man izdevās lieliski, ļaujot man aizstāt pielāgotu grafiku, nevis mazāk vēlamo alternatīvo tekstu, kas neatbilst manam dizainam. Cerams, ka tas darbosies arī jums.

Ko jūs domājat?

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāts jūsu komentārs.