W uproszczeniu mamy 2 kontrolery. Product oraz category. W product masz metodę show, która przyjmuje jako parametr alias produktu. Przykładowo wchodząc na stronę margab.pl/czujnik-plomienia-siemens-qrc-1a1-103c27-360.html do metody zostaje przekazany alias "czujnik-plomienia-siemens-qrc-1a1-103c27-360.html". Kolejno w uproszczeniu metoda ta pobiera dane z bazy danych, odpowiednio je przerabia, a następnie obrobione dane przekazuje do widoku. W widoku generowana jest strona html i ona jest wysyłana do klienta.
Kontroler category również posiada metodę show, która przyjmuje jako parametr alias kategorii. Wchodząc na margab.pl/category/automaty-palnikowe-siemens-czujniki-plomienia-siemens-qrc do metody zostaje przekazany "automaty-palnikowe-siemens-czujniki-plomienia-siemens-qrc". W uproszczeniu robi się to samo co w kontrolerze product.
Można by użyć margab.pl/product/czujnik-plomienia-siemens-qrc-1a1-103c27-360.html jednak dzięki routingowi możemy ustawiać sobie tworzyć dowolne adresy. Ważne, aby jeden adres nie prowadził do dwóch różnych kontrolerów. Np margab.pl/czujnik-plomienia-siemens-qrc-1a1-103c27-360.html i margab.pl/automaty-palnikowe-siemens-czujniki-plomienia-siemens-qrc jest błędnym zapisem, gdyż serwer będzie prowadził do pierwszego pasującego wzory zdefiniowanego w routingu.
Wczoraj poradziłem tobie poczytać między innymi o routingu. Ponowie radzę przeczytać o tych rzeczach co podałem.
W przypadku http://margab.pl/automat-dungs-dgau-aw-11.html zamieniono rozszerzenie pliku z zapewne php na html.
Nie jest zmieniana php na html. W założeniach projektu PM wymyślił, aby widok produktu kończył się na html.
Chodziło o to aby url'e były bardziej user i google friendly
True.
zostało to wprowadzone za pomocą wspomnianego powyżej mod rewrite
Nigdy nie sprawdzałem, jak działa dokładnie routing w poszczególnych frameworkach php. Jednak tworząc stronę nie używasz mod rewrite, tylko odpowiednich metod w poszczególnych frameworkach.