Tá Eisceachtaí ag Rialacha WordPress .htaccess, freisin
Rinne WordPress céim mhór éabhlóideach chun tosaigh san ardán blagála, agus é á aistriú níos gaire do chóras bainistíochta inneachair lán-chuimsitheach le rianú athbhreithnithe, níos mó tacaíochta do bhiachláir saincheaptha, agus - an ghné is iontaí domsa - tacaíocht il-láithreán le mapáil fearainn.
Mura bhfuil tú junkie córas bainistíochta inneachair, tá sé ceart go leor. Is féidir leat scipeáil díreach thar an alt seo. Ach do mo chomhghleacaithe techno-geeks, cód-heads, agus apache-dabblers, ba mhaith liom a roinnt rud éigin suimiúil, agus rud éigin fionnuar.
Is gné é ilshuíomh a ligeann duit aon líon suíomhanna gréasáin WordPress a reáchtáil le suiteáil WordPress amháin. Má riarann tú láithreáin iolracha, tá sé deas mar is féidir leat grúpa ceadaithe téamaí agus giuirléidí a shuiteáil, agus iad a ghníomhachtú do shuíomhanna do chliaint. Tá roinnt constaicí teicniúla le mapáil d’fhearainn, ach níl an próiseas deacair.
Ceann de na réimsí faidhbe a d’aithin mé ná saincheapadh téamaí. Ós rud é gur féidir téamaí a chur ar fáil do shuímh Ghréasáin iolracha, beidh tionchar ag aon shaincheapadh a dhéanfaidh tú ar théama ar aon suíomhanna eile a úsáideann an téama sin ar do shuiteáil ilshuíomh. Is é mo bhealach timpeall air seo ná téama a mhacasamhlú sula dtosóidh mé ar shaincheapadh, agus an téama a ainmniú go soiléir don suíomh cliaint a bhfuil mé ag stíliú dó.
Ceist spéisiúil eile ná an méid a tharlaíonn sa .htaccess comhad ar do fhreastalaí Apache. Ní mór do WordPress cosáin a athscríobh ar bhonn blag ar bhlag agus é seo a dhéanamh le riail athscríobh agus a php comhad.
Úsáideann WordPress an riail athscríobh seo a leanas:
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
Briste síos, ciallaíonn sé seo:
RewriteRule
– Insíonn an treoir seo do Apache gur riail athscríobh é seo.^([_0-9a-zA-Z-]+/)?
– Seo slonn rialta (RegEx) a mheaitseálann teaghrán carachtar a thosaíonn le teaghrán roghnach de charachtair alfa-uimhriúla agus Ceachtanna ina dhiaidh sin. Léiríonn na lúibíní grúpa gabhála, rud a chiallaíonn gur féidir an téacs comhoiriúnaithe a úsáid sa teaghrán athsholáthair.files/
– Meaitseálann sé seo an teaghrán “comhaid/”.(.+)
– Seo grúpa gabhála eile a mheaitseálann teaghrán carachtar ar bith, uair amháin nó níos mó.wp-includes/ms-files.php?file=$2
– Seo an teaghrán athsholáthair a thagann in ionad na téad chomhoiriúnaithe. Insíonn sé do Apache an t-iarratas a atreorú chuig “wp-includes/ms-files.php”, le luach an dara grúpa gabhála ($2) mar pharaiméadar fiosrúcháin ar a dtugtar “comhad”.[L]
– Bratach í seo a insíonn do Apache stop a chur le haon rialacha breise a phróiseáil má thagann an riail seo le chéile.
Go bunúsach, athscríobhtar aon rud atá i bhfochomhadlann de mysite.com/files/directory chuig mysite.com/files/wp-includes/myblogfolderpath… agus seo an áit a mbíonn sé suimiúil. Cad a tharlóidh más gá duit comhad a bheith agat ar do fhreastalaí atá mysite.com/files/myfolder/myimage.jpg? Faigheann tú earráid 404, sin a tharlaíonn. Tosaíonn riail athscríobh Apache an cosán agus athraíonn sí é.
Deonaithe, b’fhéidir nach dtiocfá ar an bhfadhb seo riamh, ach rinne mé. Bhí suíomh agam a raibh gá le giuirléid javascript a úsáid ó shuíomh Gréasáin eile, agus b’éigean dó grafaicí a fháil ag mysite.com/files/Images/myfile. Ós rud é nach raibh aon bhealach ann an comhad a athrú ar an suíomh óstach, theastaigh uaim bealach a dhéanamh chun é seo a dhéanamh ar mo fhreastalaí. Is é an réiteach éasca riocht athscríobh a chruthú a dhéanann eisceacht do chomhaid shonracha.
Seo é an réiteach:
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]
Briste síos:
Líne 1:
RewriteCond
– Insíonn an treoir seo do Apache gur riail RewriteCond é seo.%{REQUEST_URI}
– Athróg freastalaí é seo ina bhfuil cosán an URI iarrtha.!
– Is oibreoir diúltaithe é seo a chiallaíonn “ní”. Úsáidtear é chun an riocht a inbhéartú./?files/Image/file1.jpg$
– Is slonn rialta é seo a mheaitseálann an teaghrán beacht “/files/Image/file1.jpg” ag deireadh an URI iarrtha. Fágann an comhartha ceiste agus an tslais ar aghaidh roimh “comhaid” an phríomhshlais roghnach.
Líne 2:
RewriteCond
– Insíonn an treoir seo do Apache gur riail RewriteCond é seo.%{REQUEST_URI}
– Athróg freastalaí é seo ina bhfuil cosán an URI iarrtha.!
– Is oibreoir diúltaithe é seo a chiallaíonn “ní”. Úsáidtear é chun an riocht a inbhéartú./?files/Image/file2.jpg$
– Is slonn rialta é seo a mheaitseálann an teaghrán beacht “/files/Image/file2.jpg” ag deireadh an URI iarrtha. Fágann an comhartha ceiste agus an tslais ar aghaidh roimh “comhaid” an phríomhshlais roghnach.
Líne 3:
RewriteRule
– Insíonn an treoir seo do Apache gur riail athscríobh é seo.^([_0-9a-zA-Z-]+/)?
– Is slonn rialta é seo a mheaitseálann teaghrán carachtar a thosaíonn le teaghrán roghnach de charachtair alfa-uimhriúla agus fleiscíní agus slais ina dhiaidh. Léiríonn na lúibíní grúpa gabhála, rud a chiallaíonn gur féidir an téacs comhoiriúnaithe a úsáid sa teaghrán athsholáthair.files/
– Meaitseálann sé seo an teaghrán “comhaid/”.(.+)
– Seo grúpa gabhála eile a mheaitseálann teaghrán carachtar ar bith, uair amháin nó níos mó.wp-includes/ms-files.php?file=$2
– Seo an teaghrán athsholáthair a thagann in ionad na téad chomhoiriúnaithe. Insíonn sé do Apache an t-iarratas a atreorú chuig “wp-includes/ms-files.php”, le luach an dara grúpa gabhála ($2) mar pharaiméadar fiosrúcháin ar a dtugtar “comhad”.[L]
– Bratach í seo a insíonn do Apache stop a chur le haon rialacha breise a phróiseáil má thagann an riail seo le chéile.
Caithfear na coinníollacha athscríobh a chur roimh riail an athscríobh, nó ní oibreoidh an cleas seo. Ba cheart go mbeadh sé furasta an coinníoll seo a mhodhnú chun do chuspóirí féin, má bhíonn fadhb den chineál céanna agat. D’oibrigh an réiteach go hiontach dom, rud a lig dom grafaicí saincheaptha a chur ina n-ionad seachas an téacs alt nach raibh chomh inmhianaithe nár oirfeadh do mo dhearadh. Tá súil agam go n-oibreoidh sé duitse freisin.