Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zbyt wiele przekierowań
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cześć. Przy pomocy książki popełniłem taki oto kod, który niestety nie działa. Otrzymuję error o zbyt dużej ilości przekierowań:

Ta strona nie działa
Strona localhost spowodowała zbyt wiele przekierowań.
Usuń pliki cookie.
ERR_TOO_MANY_REDIRECTS


Proszę o pomoc, bo nie wiem nawet gdzie dokładnie szukać źródła problemu.

index.php
  1. require('config.php');
  2.  
  3. use Hajduk\Shortener;
  4.  
  5. $processor = new \Hajduk\Shortener\RequestProcessor();
  6.  
  7. switch ($_SERVER['HTTP_HOST']) {
  8. case ROOT_LANDING_URL:
  9. $processor->processLandingRequest($_SERVER['REQUEST_URI']);
  10. break;
  11. case ROOT_APP_URL:
  12. $processor->processAppRequest($_SERVER['REQUEST_URI']);
  13. break;
  14. case ROOT_SHORT_URL:
  15. $processor->processShortRequest($_SERVER['REQUEST_URI']);
  16. break;
  17. default:
  18. header("Location:https://" . ROOT_LANDING_URL);
  19. break;
  20. }



config.php
  1. <?php
  2. //Define DB params
  3. define("DB_HOST", "localhost");
  4. define("DB_USER", "xxx");
  5. define("DB_PASS", 'xxx');
  6. define("DB_NAME", "test");
  7.  
  8. //Define URL
  9. define("ROOT_LANDING_URL", "localhost/stronka");
  10. define("ROOT_APP_URL", "app.stronka.com");
  11. define("ROOT_SHORT_URL", "riy");
  12.  
  13. foreach (glob("app/*.php") as $filename) {
  14. include $filename;
  15. }
  16.  
  17. include("RequestProcessor.php");



RequestProcessor.php
  1. namespace Hajduk\Shortener;
  2.  
  3. class RequestProcessor
  4. {
  5. public function processShortRequest($request)
  6. {
  7. $shortener = new Shortener();
  8. $shortener->RedirectToDestinationUrl(
  9. '/',
  10. '',
  11. $request
  12. )
  13. );
  14. }
  15. public function processAppRequest($request)
  16. {
  17. $dashboard = new Dashboard($request);
  18. $dashboard->ProcessRequest();
  19. }
  20. public function processLandingRequest($request)
  21. {
  22. require("landing.view.php");
  23. }
  24. }



landing.view.php nie wklejam, bo to właściwie niemalże czysty html.

Dzięki z góry.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A patrzyles co dokladnie kryje sie pod $_SERVER['HTTP_HOST']?

var_dump($_SERVER['HTTP_HOST']); exit;
?
Go to the top of the page
+Quote Post
Salvation
post
Post #3





Grupa: Zarejestrowani
Postów: 403
Pomógł: 72
Dołączył: 15.07.2014

Ostrzeżenie: (0%)
-----


Jedyne przekierowanie, w tym kodzie co wrzuciłeś, masz tutaj:
  1. default:
  2. header("Location:https://" . ROOT_LANDING_URL);
  3. break;

To chyba wystarczająca wskazówka? (IMG:style_emoticons/default/wink.gif)

PS. Aj, nie odświeżyłem wątku przed napisaniem posta i dopiero teraz zauważyłem post od @nospor. Sorry.

Ten post edytował Salvation 21.12.2022, 11:00:00
Go to the top of the page
+Quote Post
sadistic_son
post
Post #4





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


var_dump z $_SERVER['HTTP_HOST'] zwraca string(9) "localhost". Czyli jak rozumiem, to co powinno.


@Salvation:
No ok, no i ono przekirowuje do localhost/stronka. Czyli do adresu który chcę mieć. Czy mam rozumieć, że występuje tutaj zapętlenie? Wchodzę na localhost/stronka, która przekierowuje do localhost/stronka i tak w kółko?
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
var_dump z $_SERVER['HTTP_HOST'] zwraca string(9) "localhost". Czyli jak rozumiem, to co powinno.


(IMG:style_emoticons/default/facepalmxd.gif)

A potem to 'localhost' porownujesz z tektem 'localhost/stronka'
Jakim cudem te dwa teksty maja byc rowne?
Go to the top of the page
+Quote Post
sadistic_son
post
Post #6





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


W config.php zmieniłem:

define("ROOT_LANDING_URL", "localhost/stronka");

na

define("ROOT_LANDING_URL", "localhost");

I teraz działa. Dlaczego? Pomóżcie zrozumieć.


EDIT:
@UP - racja. Teraz rozumiem gdzie był błąd.
Dziękuję.

Ten post edytował sadistic_son 21.12.2022, 11:09:17
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Toz ci napisalem w poprzednim poscie czemu nie dzialalo

Moze zamiast brac sie za klasy, to wroc do podstaw, IF, SWITCH, co jak dziala bo naprawde juzprzesadzasz teraz (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
sadistic_son
post
Post #8





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Pisaliśmy w tym samym czasie (IMG:style_emoticons/default/tongue.gif)
Dzięki za uszczypliwość (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Dzięki za uszczypliwość

Alez prosze, zawsze do uslug, tego u mnie wiele. czego nie mozna powiedziec o cierpliwosci (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 16:10