Pravidla WordPressu mají také výjimky

WordPress Apache

WordPress ApacheWordPress učinil významný evoluční krok vpřed v blogovací platformě a posunul jej blíže k plnohodnotnému systému pro správu obsahu se sledováním revizí, větší podporou vlastních nabídek a - pro mě nejzajímavější funkcí - podporou více webů s mapováním domén.

Pokud nejste feťák v systému pro správu obsahu, je to v pořádku. Přeskočit můžete hned za tento článek. Ale pro mé kolegy z technogeeků, kódových hlav a apache-dablerů chci sdílet něco zajímavého a něco skvělého.

Multi-site je funkce, která vám umožňuje spouštět libovolný počet webů WordPress s jedinou instalací WordPress. Pokud spravujete více webů, je to hezké, protože můžete nainstalovat schválenou skupinu motivů a widgetů a aktivovat je pro klientské weby. K mapování vašich domén existuje několik technických překážek, ale tento proces není obtížný.

Jednou z problémových oblastí, které jsem identifikoval, je přizpůsobení tématu. Vzhledem k tomu, že motivy lze zpřístupnit na více webech, jakékoli přizpůsobení motivu ovlivní také všechny ostatní weby používající tento motiv při instalaci na více webů. Můj způsob, jak to obejít, je duplikovat téma, než začnu přizpůsobovat, a jasně pojmenovat téma pro klientský web, pro který jej upravuji.

Další zajímavou otázkou je, co se stane v souboru .htaccess na vašem serveru Apache. WordPress musí přepsat cesty na základě blogu po blogu, a to pomocí pravidla přepisu a souboru php.

WordPress používá následující pravidlo přepsání:

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

V podstatě vše, co je v podadresáři mysite.com/files/directory, bude přepsáno na mysite.com/files/wp-includes/myblogfolderpath… a to je zajímavé místo. Co se stane, když skutečně potřebujete mít na serveru soubor mysite.com/files/myfolder/myimage.jpg? Zobrazí se chyba 404, to se stane. Pravidlo přepisování Apache začíná a mění cestu.

Je pravda, že se s tímto problémem možná nikdy nesetkáte, ale já ano. Měl jsem web, který potřeboval použít widget javascript z jiného webu, a potřeboval najít grafiku na mysite.com/files/Images/myfile. Vzhledem k tomu, že neexistoval způsob, jak změnit soubor na hostitelském webu, potřeboval jsem přijít na způsob, jak to udělat na mém serveru. Snadným řešením je vytvořit podmínku přepsání, která vytvoří výjimku pro konkrétní soubory.

Zde je řešení:

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

Podmínky přepsání musí být umístěny před pravidlem přepsání, jinak tento trik nebude fungovat. Mělo by být snadné upravit tuto podmínku pro své vlastní účely, pokud narazíte na podobný problém. Řešení pro mě fungovalo skvěle a umožnilo mi nahradit vlastní grafiku místo méně žádoucího alternativního textu, který nevyhovoval mému designu. Doufejme, že to bude fungovat i pro vás.

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.