Садржај маркетинг

ВордПресс .хтаццесс правила такође имају изузетке

ВордПресс је направио велики еволутивни корак напријед у блоговској платформи, приближивши га пуноправном систему за управљање садржајем са праћењем ревизија, већом подршком за прилагођене меније и - најзанимљивијом функцијом за мене - подршком за више локација са мапирањем домена.

Ако нисте зависник од система за управљање садржајем, у реду је. Можете прескочити овај чланак. Али за моје колеге техно штреберке, шефове кодова и љубитеље апача, желим да поделим нешто занимљиво и нешто кул.

Више локација је функција која вам омогућава да покренете било који број ВордПресс веб локација са једном инсталацијом ВордПресс-а. Ако администрирате више сајтова, то је лепо јер можете да инсталирате одобрену групу тема и виџета и да их активирате за своје клијентске сајтове. Постоји неколико техничких препрека за мапирање ваших домена, али процес није тежак.

Једна од проблематичних области које сам идентификовао је прилагођавање теме. Пошто теме могу бити доступне за више веб локација, било које прилагођавање теме ће такође утицати на све друге сајтове који користе ту тему у вашој инсталацији на више локација. Мој начин да заобиђем ово је да дуплирам тему пре него што почнем да прилагођавам и јасно именујем тему за клијентски сајт за који је стилизујем.

Још једно занимљиво питање је шта се дешава у .хтаццесс датотеку на вашем Апацхе серверу. ВордПресс треба да преписује путање од блога до блога и то ради помоћу правила преписивања и пхп датотека.

ВордПресс користи следеће правило преписивања:

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

Сломљено, ово значи:

  1. RewriteRule – Ова директива говори Апацхе-у да је ово правило поновног писања.
  2. ^([_0-9a-zA-Z-]+/)? – Ово је регуларни израз (РегЕк) који одговара низу знакова који почиње опционим низом алфанумеричких знакова и цртица праћених косом цртом. Заграде означавају групу за снимање, што значи да се подударни текст може користити у низу за замену.
  3. files/ – Ово одговара низу „филес/“.
  4. (.+) – Ово је још једна група за снимање која се подудара са било којим низом знакова, једном или више пута.
  5. wp-includes/ms-files.php?file=$2 – Ово је заменски низ који замењује одговарајући низ. Каже Апацхе-у да преусмери захтев на „вп-инцлудес/мс-филес.пхп“, са вредношћу друге групе снимања ($2) као параметар упита који се зове „датотека“.
  6. [L] – Ово је заставица која говори Апацхе-у да престане да обрађује било каква даља правила ако се ово правило подудара.

У суштини, све што се налази у поддиректорију мисите.цом/филес/дирецтори се преписује на мисите.цом/филес/вп-инцлудес/миблогфолдерпатх… и ту постаје занимљиво. Шта се догађа ако на вашем серверу заправо треба да имате датотеку мисите.цом/филес/мифолдер/миимаге.јпг? Ако добијете грешку 404, то се и догађа. Правило преписивања Апацхе-а почиње и мења путању.

Додуше, можда никада нећете наићи на овај проблем, али јесам. Имао сам веб локацију која је требала да користи јавасцрипт виџет са друге веб локације и требало је да пронађе графику на мисите.цом/филес/Имагес/мифиле. Будући да није било начина да променим датотеку на хостованој локацији, требао сам да смислим начин да то урадим на свом серверу. Једноставно решење је створити услов преписивања који чини изузетак за одређене датотеке.

Ево решења:

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]

Оборио:

Линија КСНУМКС:

  1. RewriteCond – Ова директива говори Апацхе-у да је ово правило РевритеЦонд.
  2. %{REQUEST_URI} – Ово је променљива сервера која садржи путању захтеваног УРИ-ја.
  3. ! – Ово је оператор негације који значи „не“. Користи се за инвертовање услова.
  4. /?files/Image/file1.jpg$ – Ово је регуларни израз који се тачно подудара са стрингом „/филес/Имаге/филе1.јпг“ на крају захтеваног УРИ-ја. Знак питања и коса црта испред „датотека“ чине водећу косу црту опционом.

Линија КСНУМКС:

  1. RewriteCond – Ова директива говори Апацхе-у да је ово правило РевритеЦонд.
  2. %{REQUEST_URI} – Ово је променљива сервера која садржи путању захтеваног УРИ-ја.
  3. ! – Ово је оператор негације који значи „не“. Користи се за инвертовање услова.
  4. /?files/Image/file2.jpg$ – Ово је регуларни израз који се тачно подудара са стрингом „/филес/Имаге/филе2.јпг“ на крају захтеваног УРИ-ја. Знак питања и коса црта испред „датотека“ чине водећу косу црту опционом.

Линија КСНУМКС:

  1. RewriteRule – Ова директива говори Апацхе-у да је ово правило поновног писања.
  2. ^([_0-9a-zA-Z-]+/)? – Ово је регуларни израз који одговара низу знакова који почиње опционим низом алфанумеричких знакова и цртица праћених косом цртом. Заграде означавају групу за снимање, што значи да се подударни текст може користити у низу за замену.
  3. files/ – Ово одговара низу „филес/“.
  4. (.+) – Ово је још једна група за снимање која се подудара са било којим низом знакова, једном или више пута.
  5. wp-includes/ms-files.php?file=$2 – Ово је заменски низ који замењује одговарајући низ. Каже Апацхе-у да преусмери захтев на „вп-инцлудес/мс-филес.пхп“, са вредношћу друге групе снимања ($2) као параметар упита који се зове „датотека“.
  6. [L] – Ово је заставица која говори Апацхе-у да престане да обрађује било каква даља правила ако се ово правило подудара.

Услови преписивања морају се поставити пре правила преписивања, иначе овај трик неће успети. Изменити ово стање за своје потребе било би лако, ако наиђете на сличан проблем. Решење је одлично функционисало за мене, омогућавајући ми да заменим прилагођену графику уместо мање пожељног алт текста који није одговарао мом дизајну. Надам се да ће и вама то успети.

Тим Пиазза

Тим Пиазза је партнер Социал ЛИфе Маркетинга и оснивач ПроСоциалТоолс.цом, ресурса за мала предузећа за досезање локалних купаца помоћу друштвених медија и мобилног маркетинга. Када не ствара иновативна решења која убрзавају пословне процесе, Тим воли да свира мандолину и прави намештај.

Повезани чланци

Назад на врх дугмета
близу

Адблоцк откривен

Martech Zone је у могућности да вам пружи овај садржај без икаквих трошкова јер ми монетизујемо наш сајт путем прихода од огласа, партнерских веза и спонзорстава. Били бисмо захвални ако бисте уклонили свој блокатор огласа док гледате наш сајт.