• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP: Jak zrobić przekierowanie wraz z zapamiętaniem zmiennej?

Object Storage Arubacloud
0 głosów
364 wizyt
pytanie zadane 21 sierpnia 2018 w PHP przez BlaBlaCar Początkujący (440 p.)

Witam!

Nie mogę sobie poradzić z PHP i .htaccess

1)Mam ustawione ukrywanie końcówek .php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php

2) Gdy wpisze: http://localhost/podstrona 

Przekierowuje mnie do podstrona.php który jest w głównym katalogu (tak ma zostać)

3)Gdy wpisze: http://localhost/20 
W moim głównym katalogu nie ma strony 20.php Ale za to chciałbym żeby tu powstało przekierowanie do strony na której wartość 20 będzie odpowiadał numerkowi wpisu. 

Inaczej: Chce aby gdy w katalogu głównym nie znajdzie pliku przekierowało na stronę wpis.php tak abym jeszcze mógł odczytać numerek na przykład tak: localhost/wpis/20

Wejście: localhost/20 

Wyjście: localhost/wpis/20

Dzięki za pomoc!

1 odpowiedź

+2 głosów
odpowiedź 21 sierpnia 2018 przez Ehlert Ekspert (212,670 p.)
wybrane 21 sierpnia 2018 przez BlaBlaCar
 
Najlepsza

Jestem świadom tego że Mirosław Zelent pokazywał na kursie, iż istnieje możliwość usuwania końcówek i tworzenia własnych linków w .htaccessach. Nie mniej jednak jest to niepoprawne.

To co próbujesz osiągnąć nazywa się routing. Dostosowując htaccess wykonujesz routing na warstwie serwera. Takie zabiegi powinno się wykorzystywać do routingu subdomenowego gdzie np blog.app.com i forum.app.com to dwie odrębne aplikacje.

Ty powinieneś się zainteresować routingiem na poziomie aplikacji. Ustawiasz serwer tak aby za każdym razem wskazywał na plik index.php i rozpatrujesz zawartość zmiennej $_SERVER['REQUEST_URI']. Są do tego gotowe paczki np ta, albo ta. Przy dobrej implementacji możesz z adresu /sklep/produkty/wielka_donica_ogrodowa wyciągnąć ciąg wielka_donica_ogrodowa i szukać w bazie tego co Cię interesuje.

Mam nadzieję, że otworzyłem oczy i zainspirowałem laugh

komentarz 21 sierpnia 2018 przez BlaBlaCar Początkujący (440 p.)
Jeszcze jak! Dzięki za rozwiązanie :)

Możesz po krotce wyjaśnić czemu usuwanie końcówek jest niepoprawne?
komentarz 21 sierpnia 2018 przez Ehlert Ekspert (212,670 p.)

Tak jak wyżej napisałem: routing tego typu powinien być realizowany w warstwie aplikacji. Kiedy piszesz jakieś api itp itd korzystasz z bibliotek realizujących routing, lub jeszcze lepiej z frameworków. Tworząc projekty stricte frontowe opierające się na statycznych stronach, gigabajtach cssa i formularzu logowania korzystaj z cmsów. One również posiadają implementację routingu bez żadnych udziwnień w htaccessach. 

Co jeśli się okaże że musisz całkowicie zmienić architekturę? Przechodzisz na Node/RoR/Django? Będziesz się martwić czy do nowych rozwiązań masz prawidłowo dostosowany serwer?

Polecam Ci dokładne przeanalizowanie tego artukułu:

https://symfony.com/doc/current/introduction/from_flat_php_to_symfony2.html

Podobne pytania

0 głosów
1 odpowiedź 364 wizyt
pytanie zadane 24 grudnia 2018 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
2 odpowiedzi 819 wizyt
pytanie zadane 13 listopada 2018 w Sieci komputerowe, internet przez yaro25 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 138 wizyt
pytanie zadane 29 sierpnia 2020 w PHP przez Bakkit Dyskutant (7,600 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...