Mamy bazę danych, niezależnie od tego, czy są to produkty, posty na blogu czy coś takiego. Musimy zaprojektować schemat adresów URL, aby je rozwiązać, dla publicznej witryny internetowej.
Oto dwa przykłady związane z identyfikatorem bazy danych:
Oto przykład, który jest przyjazny:
(Trochę rzutu oka na moje życie przeglądania tam)
Lubię przyjazne adresy URL, ponieważ masz pojęcie o tym, co znajduje się na końcu adresu URL po najechaniu myszą lub zobaczeniu w e-mailu lub dokumencie. Tak jest lepiej dla SEO, albo kiedyś.
Co się stanie, gdy nazwa dokumentu lub produktu zostanie zmieniona? Albo dlatego, że się zmienił (Wiki nie może się zmienić, ale nasze zasoby mogą) lub z powodu literówki, prawda? Nasze zasoby są bardzo techniczne, długie słowa i podatne na błędy.
Ponadto mamy identyfikator bazy danych, który jest liczbą. Spójrzmy na pomysł na adres filmu za pomocą udawanego wypożyczalni:
Identyfikator jest oczywisty i jest używany w wyszukiwaniu DB. W porządku.
Bit drzwi przesuwnych nie jest unikalny i właśnie został wygenerowany z tytułu wideo, można go zweryfikować przy pomocy GET, więc jeśli wprowadzono drzwi przesuwne i nie pasują one do tego, co naprawdę jest w dokumencie 287171, odpowiada 404.
A może można to zignorować, pozwalając ludziom trzymać tam, co im się podoba, jeśli komuś na to zależy. Więc ten adres URL również działałby:
Problem z weryfikacją części przyjaznej polega, jak wspomniano, na problemie zmiany nazwy lub korekty literówki. Jeśli nazwa się zmieni, a w naszej domenie tak się stanie, nie chcemy rozkładać adresów URL, które tam są, więc powinniśmy:
Tylko nie weryfikuj przyjaznej części.
Zweryfikuj, ale dodaj „historię” przyjaznych części do rekordu bazy danych, aby wszystkie poprzednie przyjazne identyfikatory nadal działały!
Twoje myśli i pomysły są mile widziane.
Luke
http://programmers.stackexchange.com/questions/255684/providing-friendly-urls-for-a-website-vs-realities-of-database-ids
(używając wersji niezweryfikowanej w świetle zmian tytułu, również krótszy link „udostępnij” to tylko id:http://programmers.stackexchange.com/q/255684/25768
(i identyfikator użytkownika do śledzenia odznak)