Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header zapamietał adres
Forum PHP.pl > Forum > PHP
phpdragon
Cześć. Tworze frameworka w php i pojawił się nagle problem pisząc funkcje redirect. Pierwsze co przyszło mi na myśl header wiec użyłem.
Po pierwszym wykonaniu i przekierowaniu do innej funkcji frameworka zapamiętał url. tzn

Na razie ma routing w formie
http://localhost/FrameworkLZ/controller/me.../argument2/.....

http://localhost/FrameworkLZ/ = http://localhost/FrameworkLZ/index.php - przekierowuje wszystko plikiem htaccess do index.php gdzie silnik frameworka obsługuje routing

adres http://localhost/FrameworkLZ/ odpala http://localhost/FrameworkLZ/main/index - domysny kontroler i metoda
main - kontroler
index - metoda

wszystko działało do momentu gdy w main/index zrobiłem header na main/test
po tym, po wpisaniu adresu http://localhost/FrameworkLZ/
robi się http://localhost/FrameworkLZmain/test i błąd 404

Po tem próbowałem w inny sposób na inną stronę w czytać to teraz gdy wpisie
http://localhost/FrameworkLZ/main/index ładuje się http://www.example.org/


Czy macie pomysły czemu tak się dzieje? Może powianiem wyczyść coś? A może inny sposób znacie?

Dzięki za pomoc.

kayman
myślę że bez pokazania .htaccess i routingu nikt ci nie bedzie w stanie pomóc
phpdragon
Tylko że to działało przez kilka dobrych tygodni. I nagle jak użyłem header to wszystko się popsuło. Routing raczej nie będzie potrzebny bo nawet nie wchodzi do index.php. Tylko od razu zmienia url z http://localhost/FrameworkLZ na http://localhost/FrameworkLZmain/test/ z komunikatem
"
Not Found

The requested URL /FrameworkLZmain/test/ was not found on this server.
Apache/2.4.9 (Win64) PHP/5.5.12 Server at localhost Port 80
"

tak jakby zapamiętał url main/test/ i wstrzykuje go mimo, że nie ma go w kodzie.
tak samo inne wszystkie kontrolery i metody w których użyłem header zapamiętały go. Wszystkie header usunąłem aktualnie z kodu.

Ale jak będzie trzeba to dam klasę routingu


  1. RewriteEngine on
  2. RewriteBase /FrameworkLZ/
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteRule . index.php [L]
adbacz
Jeśli użyłeś przekierowania 301 i Google Chrome lub Mozilla Firefox, to przeglądarka zapamiętała przekierowanie i teraz za każdym razem wykonuje to samo przekierowanie "z pamięci". Wyczyść pamięć podręczną przeglądarki i spróbuj ponownie wejść na ten adres z którego zostajesz przekierowany.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.