Maudhui ya masoko

Kanuni za WordPress .htaccess Zina Vighairi, Pia

WordPress ilifanya hatua kubwa ya mageuzi mbele kwenye jukwaa la kublogi, ikiisogeza karibu na mfumo kamili wa usimamizi wa yaliyomo na ufuatiliaji wa marekebisho, msaada zaidi kwa menyu za kawaida, na - huduma ya kufurahisha zaidi kwa msaada wa tovuti nyingi na ramani ya uwanja.

Ikiwa wewe si mlaji taka wa mfumo wa usimamizi wa maudhui, ni sawa. Unaweza kuruka kifungu hiki. Lakini kwa techno-geeks wenzangu, wakuu wa kanuni, na apache-dabblers, ninataka kushiriki kitu cha kuvutia, na kitu kizuri.

Tovuti nyingi ni kipengele kinachokuruhusu kuendesha idadi yoyote ya tovuti za WordPress na usakinishaji mmoja wa WordPress. Ikiwa unasimamia tovuti nyingi, ni vizuri kwa sababu unaweza kusakinisha kikundi kilichoidhinishwa cha mandhari na wijeti, na kuziwasha kwa tovuti za wateja wako. Kuna vikwazo vichache vya kiufundi vya kupanga vikoa vyako, lakini mchakato si mgumu.

Mojawapo ya maeneo ya shida niliyogundua ni ubinafsishaji wa mada. Kwa kuwa mandhari yanaweza kupatikana kwa tovuti nyingi, ubinafsishaji wowote unaofanya kwenye mandhari pia utaathiri tovuti nyingine zozote zinazotumia mandhari hayo kwenye usakinishaji wako wa tovuti nyingi. Njia yangu ya kuzunguka hili ni kunakili mandhari kabla sijaanza kubinafsisha, na kutaja kwa uwazi mada ya tovuti ya mteja ninayoiwekea mtindo.

Suala lingine la kuvutia ni kile kinachotokea katika . Htaccess faili kwenye seva yako ya Apache. WordPress inahitaji kuandika upya njia kwa msingi wa blogi-na-blog na hufanya hivi kwa sheria ya kuandika upya na php faili.

WordPress hutumia sheria ifuatayo ya kuandika tena:

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

Imevunjwa, hii inamaanisha:

  1. RewriteRule - Maagizo haya yanaambia Apache kuwa hii ni sheria ya kuandika upya.
  2. ^([_0-9a-zA-Z-]+/)? - Huu ni usemi wa kawaida (RegEx) inayolingana na mfuatano wa herufi unaoanza na mfuatano wa hiari wa herufi na viambatisho vya alphanumeric na kufyeka. Mabano yanaonyesha kikundi cha kunasa, ambayo ina maana kwamba maandishi yanayolingana yanaweza kutumika katika mfuatano wa uingizwaji.
  3. files/ - Hii inalingana na kamba "faili/".
  4. (.+) - Hiki ni kikundi kingine cha kukamata kinacholingana na safu yoyote ya wahusika, mara moja au zaidi.
  5. wp-includes/ms-files.php?file=$2 - Huu ni kamba mbadala ambayo inachukua nafasi ya kamba inayolingana. Inaambia Apache kuelekeza ombi upya kwa "wp-includes/ms-files.php", na thamani ya kikundi cha pili cha kunasa ($2) kama kigezo cha hoja kinachoitwa "faili".
  6. [L] - Hii ni bendera inayomwambia Apache kuacha kuchakata sheria zingine ikiwa sheria hii inalingana.

Kwa kweli, kila kitu kilicho katika saraka ndogo ya mysite.com/files/directory huandikwa tena kwa mysite.com/files/wp-includes/myblogfolderpath ....... na hapa ndipo inapovutia. Ni nini hufanyika ikiwa kweli unahitaji kuwa na faili kwenye seva yako ambayo ni mysite.com/files/myfolder/myimage.jpg? Unapata kosa 404, ndivyo inavyotokea. Sheria ya uandishi wa Apache inaingia na kubadilisha njia.

Ni kweli, unaweza kamwe kukumbana na shida hii, lakini nilikutana nayo. Nilikuwa na wavuti ambayo inahitajika kutumia kidude cha javascript kutoka kwa wavuti nyingine, na ilihitaji kupata picha kwenye mysite.com/files/Images/myfile. Kwa kuwa hakukuwa na njia ya kubadilisha faili kwenye wavuti ya mwenyeji, nilihitaji kutafuta njia ya kufanya hivyo kwenye seva yangu. Suluhisho rahisi ni kuunda hali ya kuandika tena ambayo hufanya ubaguzi kwa faili maalum.

Hapa kuna suluhisho:

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]

Imevunjika:

Mstari wa 1:

  1. RewriteCond - Maagizo haya yanaambia Apache kuwa hii ni sheria ya RewriteCond.
  2. %{REQUEST_URI} - Hii ni tofauti ya seva ambayo ina njia ya URI iliyoombwa.
  3. ! - Huyu ni mwendeshaji wa kukanusha ambayo inamaanisha "sio". Inatumika kugeuza hali hiyo.
  4. /?files/Image/file1.jpg$ - Huu ni usemi wa kawaida unaolingana na mfuatano kamili "/files/Image/file1.jpg" mwishoni mwa URI iliyoombwa. Alama ya kuuliza na kufyeka mbele kabla ya "faili" hufanya ufyekaji unaoongoza kuwa wa hiari.

Mstari wa 2:

  1. RewriteCond - Maagizo haya yanaambia Apache kuwa hii ni sheria ya RewriteCond.
  2. %{REQUEST_URI} - Hii ni tofauti ya seva ambayo ina njia ya URI iliyoombwa.
  3. ! - Huyu ni mwendeshaji wa kukanusha ambayo inamaanisha "sio". Inatumika kugeuza hali hiyo.
  4. /?files/Image/file2.jpg$ - Huu ni usemi wa kawaida unaolingana na mfuatano kamili "/files/Image/file2.jpg" mwishoni mwa URI iliyoombwa. Alama ya kuuliza na kufyeka mbele kabla ya "faili" hufanya ufyekaji unaoongoza kuwa wa hiari.

Mstari wa 3:

  1. RewriteRule - Maagizo haya yanaambia Apache kuwa hii ni sheria ya kuandika upya.
  2. ^([_0-9a-zA-Z-]+/)? - Hiki ni kielezi cha kawaida kinacholingana na mfuatano wa herufi unaoanza na mfuatano wa hiari wa herufi na viambatisho vya alphanumeric na kufyeka. Mabano yanaonyesha kikundi cha kunasa, ambayo ina maana kwamba maandishi yanayolingana yanaweza kutumika katika mfuatano wa uingizwaji.
  3. files/ - Hii inalingana na kamba "faili/".
  4. (.+) - Hiki ni kikundi kingine cha kukamata kinacholingana na safu yoyote ya wahusika, mara moja au zaidi.
  5. wp-includes/ms-files.php?file=$2 - Huu ni kamba mbadala ambayo inachukua nafasi ya kamba inayolingana. Inaambia Apache kuelekeza ombi upya kwa "wp-includes/ms-files.php", na thamani ya kikundi cha pili cha kunasa ($2) kama kigezo cha hoja kinachoitwa "faili".
  6. [L] - Hii ni bendera inayomwambia Apache kuacha kuchakata sheria zingine ikiwa sheria hii inalingana.

Masharti ya kuandika tena yanapaswa kuwekwa kabla ya sheria ya kuandika upya, la sivyo ujanja huu hautafanya kazi. Inapaswa kuwa rahisi kurekebisha hali hii kwa madhumuni yako mwenyewe, endapo utakutana na shida kama hiyo. Suluhisho lilinifanyia kazi, likiniruhusu kuchukua nafasi ya picha maalum badala ya maandishi ya chini ya kuhitajika ambayo hayakukubaliana na muundo wangu. Tunatumahi kuwa itakufanyia kazi pia.

Tim Piazza

Tim Piazza ni mshirika wa Social Life Marketing na mwanzilishi wa ProSocialTools.com, nyenzo ndogo ya biashara ya kufikia wateja wa ndani kwa kutumia mitandao ya kijamii na uuzaji wa simu. Wakati hatengenezi suluhu za kiubunifu zinazoharakisha michakato ya biashara, Tim anapenda kucheza mandolini na fanicha za ufundi.

Related Articles

Rudi kwenye kifungo cha juu
karibu

Adblock Imegunduliwa

Martech Zone inaweza kukupa maudhui haya bila gharama kwa sababu tunachuma mapato ya tovuti yetu kupitia mapato ya matangazo, viungo vya washirika na ufadhili. Tutashukuru ikiwa ungeondoa kizuizi chako cha matangazo unapotazama tovuti yetu.