5 aprūpes padomi ķīniešu ūdens pūķiem Mājdzīvnieku rāpuļi

Uzņēmumā, kurā es strādāju, mēs gatavojamies izstrādāt jaunu vietni, un pastāv dažas domstarpības par to, kā veikt tīrus URL. Pēdējā gada laikā mēs esam veikuši nelielus uzlabojumus mūsu esošajā vietnē, gaidot liela mēroga pārprojektēšanu, kurā ir iesaistīti Poor Man's Clean URLs ™.

Piemērs: http://www.example.com/products/widgets/index.php

http://www.example.com/products/sprockets/index.php 

Jaunajā vietnē ir dažas runas par mod_rewrite izmantošanu:

  1. Lietotājs pieprasa http://www.example.com/products/widgets/
  2. mod_rewrite tos nosūta uz http://www.example.com/index.php?page=products/widgets
  3. index.php nosūta tos uz īsto lapu http://www.example.com/products/widgets.php

Man neizdodas saprast, kā viss šis rigamarolls piešķir jebkādu vērtību. Darbinieks, kas atbalsta mod_rewrite, apgalvo, ka mazāk direktoriju kaut kā pielīdzina vienkāršākai uzturēšanai.

Nevienā no mūsu esošajām lapām vaicājuma virknē netiek izmantoti mainīgie. Viss saturs atrodas faktiskajos failos. Mēs plānojam ievietot daļu satura datu bāzē, piemēram, paziņojumus presei un gaidāmās izstādes, kurās piedalīsimies, taču lielākā daļa lapu PHP izmantos tikai parastā HTML, piemēram, galvenes, kājenes un navigācijas, iekļaušanai. Es noteikti gribētu izmantot mod_rewrite šādam dinamiskam saturam.

Vai man ir kāds liels ieguvums, kas man pietrūkst, lai mums visam būtu jāizmanto mod_rewrite? Vai nabadzīgā cilvēka tīrie URL ™ ir pietiekami mūsu vietnes daļām, kas nav datubāzes?

  • es toug ... tik daudz problēmu par tīru URL ...

Iepriekš aprakstītais trīspakāpju process šķiet lieks un bezjēdzīgs, kā norādīts iepriekš. Ja 3. darbībā index.php viņus noved uz "īsto" lapu, kāpēc vispār vispār jāpievēršas mod_rewrite? To darot, tiks noliegtas mod_rewrite piedāvātās priekšrocības. Proti, meklētājprogrammai draudzīgs URL un vienkāršāka vietnes uzturēšana. Ja apstāsieties otrajā solī, jūs izmantosiet mod_rewrite priekšrocības, saglabājot tikai vienu lapu, taču tā var apkalpot praktiski neierobežotu lapu skaitu un būt pārredzama lietotājam un meklētājprogrammām, jo ​​viņi URL redz tikai 1. darbībā.

Tas ir mīts, ka "/ pagename" vai "/pagename.htm" ir labāki meklētājprogrammām nekā "/pagename.php". Vismaz pie Google tam noteikti nav pamata (un pieņemu, ka arī pārējie). Tāpat pat "index.php? Page = pagename" nav jāpārraksta kā "/ pagename" - meklētājprogrammas šos URL var saprast bez problēmām, un Google pat ir ierakstījis, ka dod priekšroku, ka lietotāji nepārraksta nevajadzīgi (http://googlewebmastercentral.blogspot.com/2008/09/dynamic-urls-vs-static-urls.html). Tātad, ja vien jūs neveidojat nebeidzamus URL ar URL parametriem, pārrakstīti URL ne vienmēr ir draudzīgāki meklētājprogrammām nekā nepārrakstīti URL.

Tas nozīmē, ka lietotāji var dot priekšroku jaukiem URL, nevis neglītiem / sarežģītiem URL. Ja jūsu galvenais uztraukums ir tas, ka meklēšanas rezultātos ir jauki vietrāži URL, es apskatītu Google tagad atbalstīto rīvmaizes mikroformātu (http://googlewebmastercentral.blogspot.com/2010/09/rich-snippets-testing-tool- uzlabojumi.html), jo tie bieži var nodrošināt vēl labāku lietotāja pieredzi attiecībā uz vietrāžiem URL meklēšanas rezultātos. Tas neatrisinās problēmu ar lietotājiem, kuri vēlas, lai saites būtu glīta izskata URL, taču, ja jūsu vietrāži URL nav bezgalīgi sarežģīti (un jūsu piemēri nav), visticamāk, tas neradīs izmērāmas atšķirības, ja tos pārrakstīsit izmantot gadījumu. Ja nav izmērāmu atšķirību, tad, iespējams, nav jēgas tērēt laiku šādas iestatīšanas projektēšanai un uzturēšanai.

Tas, ko jūs saucat par “Nabaga cilvēka tīrajiem URL”, ir tikai tīri URL, kas ieviesti, izmantojot failu sistēmu. Šāda veida vietrāži URL var būt, izmantojot mod_rewrite, tāpat kā otrā veida URL var būt bez mod_rewrite.

Tīri URL ir tieši tas, ko norāda nosaukums - tīri vai tīri izskatās URL. Abi

http://yoursite/foo/bar 

un

http://yoursite/foo/bar.php 

ir tīri URL. Termins "tīri URL" nenorāda konkrētu ieviešanu. Jūs varat ieviest tīrus URL, ģenerējot kešatmiņā saglabātas .html lapas katru reizi, kad vietne tiek atjaunināta, ja vēlaties. mod_rewrite vienkārši ļauj atdalīt URL struktūru no faila struktūras bez novirzīšanas vai rāmjiem.

Pēc tā, kā izklausās, jūs pašlaik nedarbojat ar datu bāzi balstītu vietni. Lai gan tas tehniski varētu kvalificēties kā dinamiska vietne, tas, iespējams, ir vairāk statiskā spektra galā, ja jūs galvenokārt izmantojat PHP tikai, lai iekļautu galvenes / kājenes. Tas ir piemērots mazām vietnēm, kuras reti jāatjaunina, taču, palielinoties jūsu vietnei, jums būs jāievieš īsta CMS.

Mod_rewrite spīd, kad sākat ņemt vērā uzturamību. Tā vietā, lai katrai produkta lapai būtu simtiem php failu (ar daudz lieka koda), jums vienkārši var būt viens skripts, kas apstrādā visus pieprasījumus. Bet, ja jums vairs nav reālu .php failu kartēšanas ar parādītajām tīmekļa lapām, jums būs jāizmanto kaut kas līdzīgs mod_rewrite, lai saprātīgi virzītu lapu pieprasījumus, vienlaikus saglabājot ilūziju par faila / direktorija struktūras esamību. tur.

Tāpēc jums nav jāuztraucas par papildu apakšdirektoriju. Tas ir fakts, ka jūs izveidojat atsevišķu .php skriptu katrai savas vietnes lapai.

"Clean URLS" bieži nozīmē, ka nav faila paplašinājuma; tas palīdz paslēpt skatītāja informāciju par ieviešanu. Priekšrocība ir tā, ka jūs nolemjat pārvietot vietni no, piemēram, PHP uz Ruby on Rails, to varat izdarīt, nemainot vienu URL.

Lai gan ir iespējams palaist vietni ar ASP.net un failu nosaukumi beidzas ar .php, ja vēlaties saglabāt savus URL, neskatoties uz to, šķiet, ka ir lietderīgāk tos darīt tā, lai problēma nekad nebūtu jāizdomā .

http://www.example.com/news/2010/10/our-new-url-system/ 

Vienmēr var būt labs URL, pat ja jūs pilnībā maināt pamata arhitektūru vai pārejat no statiskiem failiem uz dinamiskiem .. vai otrādi.

Man šķiet, ka visu jūsu saturu datubāzē būtu daudz ātrāk un vieglāk uzturēt, pēc tam katru reizi, kad jāveic atjauninājumi, izrakt lielu failu sistēmu. Kā iepriekš minēja Džons Muellers, jaukais URL neradīs lielas izmaiņas jūsu klasifikācijā, tomēr jūs vēlaties apsvērt iespēju izmantot Mod_Rewrite, lai saglabātu esošos URL un to vērtību. IE, ja:

example.com/widgets/index.php ir 1000 saites, kas norāda uz to, un jūs maināt to uz example.com/pages/widgets.php, tāpēc riskējat zaudēt lielu daļu šīs vērtības (protams, jūs varat to novirzīt, bet tas ir apstrīdams, vai vai ne, kas izturēs to pašu vērtību)

Mans ieteikums būtu, ja turpinātu statiskā satura apkalpošanu, turpināt izmantot failu sistēmu, ja pārveidojat to par dinamisku saturu, izmantojiet Mod_Rewrite, lai pašreizējā URL struktūra būtu taktiska. Vai arī, ja pašreizējo struktūru nav iespējams uzturēt, izmantojiet Mod_Rewrite, lai izveidotu struktūru, kas būs stabila turpmākajiem atjauninājumiem.

Kā jau teikts, kam .php vai ?page= nav īsti nozīmes. Kas dara Ir svarīgi, vai jūs darāt kaut ko līdzīgu šim:

http://www.example.com/index.php?page=13

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?

noderīga informācija