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

htaccess - przekierowanie z php GET

42 Warsaw Coding Academy
0 głosów
625 wizyt
pytanie zadane 24 grudnia 2018 w PHP przez BlvckFox Gaduła (4,240 p.)

Cześć, chciałbym aby przy pomocy htaccess przekierowania wyglądały tak:
index.php -> /
index.php?page=xyz -> /xyz
No i tak mam zrobione:
 

RewriteRule ^([a-zA-Z0-9-/]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9-/]+)/$ index.php?page=$1

ale teraz chciałbym aby 
index.php?page=watch?test=xyz -> /watch/xyz
i tutaj pojawia się problem ponieważ takie coś nie działa: 
 

RewriteRule ^([a-zA-Z0-9-/]+)/watch/$ index.php?page=watch?test=$1

jak sie za to zabrać?

1 odpowiedź

–1 głos
odpowiedź 25 grudnia 2018 przez Ehlert Ekspert (215,010 p.)

Najlepiej nie zabierać się. Najlepiej jest użyć wyszukiwarki, albo przejrzeć pytania z tagiem htaccess. Jest tam milion wątków takich samych jak ten.

Takie rzeczy są stricte związane z działaniem aplikacji. Serwer http jest częścią środowiska aplikacji. Odpowiedzialności tych dwóch warstw nie powinny być mieszane. Co jeśli przyjdzie zmienić serwer http? Co jeśli zmienią się adresy? Logujemy się do pięciu serwerów aplikacji i kolejno zmieniamy config zamiast wdrażać zmiany w kodzie?

To czego potrzebujesz to całkiem podstawowa funkcjonalność routingu. Tu trochę o routingu Symfony, tu przykład Lumena. 

komentarz 28 grudnia 2018 przez BlvckFox Gaduła (4,240 p.)

Sprawdziłem z 5 stron i nie znalazłem podobnego tematu, który by rozwiązywał sprawę. Rozumiem, że routing jest lepszym rozwiązaniem, ale poznałem to dopiero jak już napisałem sobie aplikacje pod te moje przeróbki z htaccess i chciałbym tylko jedną funkcjonalność do tego dodać, bez zbędnych frameworków itd.
 

RewriteRule ^([a-zA-Z0-9-/]+)\/watch/$ index.php?page=watch?watch=$1

chciałbym, żeby localhost.com/xxx/watch/TEST
tworzylo mi w php dodatkową zmienną get = TEST
$_get = ["page"=>"watch","watch"=>"test"];

komentarz 28 grudnia 2018 przez Ehlert Ekspert (215,010 p.)

Sprawdziłem z 5 stron i nie znalazłem podobnego tematu, który by rozwiązywał sprawę.

To kiepsko sprawdziłeś.

Rozpatruj w php zmienną $_SERVER['REQUEST_URI']

komentarz 29 grudnia 2018 przez BlvckFox Gaduła (4,240 p.)
No zmienna mi nic nie daje, bo po przejściu do strona/watch/cokolwiek
strone wywala 404 bo zle jest napisany ten htaccess.
komentarz 30 grudnia 2018 przez BlvckFox Gaduła (4,240 p.)
edycja 30 grudnia 2018 przez BlvckFox

@Ehlert, Zmieniałem htaccess, teraz zamiast $_GET uzywam $_SERVER['REQUEST_URI'], wszystko działa, tylko musiałem htaccess nieco zmodyfikować ale już jest ok.

Podobne pytania

0 głosów
0 odpowiedzi 374 wizyt
pytanie zadane 15 lipca 2018 w PHP przez szymonq Użytkownik (770 p.)
0 głosów
0 odpowiedzi 146 wizyt
0 głosów
0 odpowiedzi 238 wizyt
pytanie zadane 24 maja 2018 w HTML i CSS przez matJ7 Nowicjusz (120 p.)

93,377 zapytań

142,380 odpowiedzi

322,532 komentarzy

62,727 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...