Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema con Lumen e routes

    ciao!

    mi sto studiando Lumen, ma ho subito un problema con le routes.
    questo il file web.php dove vanno aggiunte:

    Codice PHP:
    $router->get('/', function () use ($router) {
        return 
    $router->app->version();
    });

    $router->get('foo', function () {
        return 
    'Hello World';
    }); 

    la prima è quella di default aggiunta dall'installazione, la seconda l'ho aggiunta io.
    adesso, se vado in https://www.sito.it/apit/public vedo correttamente la prima route.
    mentre se vado in https://www.sito.it/apit/public/foo ottengo il classico Not found.
    dove sbaglio??

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Lumen non l'ho usato, ma magari vuole lo slash all'inizio, quindi "/foo"?

  3. #3
    si avevo già provato (anche se sulla documentazione lo slash non c'è):
    Codice PHP:
    $router->get('/foo', function () {
        return 
    'Hello World';
    }); 
    da cmq errore!

  4. #4
    ci deve essere qualcosa con apache (?) con non quadra.
    allora, dentro la cartella public ho questo htaccess:

    codice:
    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]
    
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        ErrorDocument 404 https://www.matteoferrone.it/
    </IfModule>

    io ho aggiunto solo la riga ErrorDocument.

    ho aggiunto anche questoi htaccess sia nella root di lumen, che nella directory routes:
    codice:
    RewriteEngine On
    
    ErrorDocument 404 https://www.matteoferrone.it/


    in nessun caso viene eseguito il redirect quando vado sulla route che crea problemi.
    il modulo rewrite però risulta attivo:
    codice:
    #  apachectl -t -D DUMP_MODULES
     rewrite_module (shared)

  5. #5
    anzi, sicuro è un problemi di rewrite:

    codice:
    https://www.sito.it/api/public/                           --> OK
    https://www.sito.it/api/public/index.php           --> OK
    https://www.sito.it/api/public/foo                      --> KO
    https://www.sito.it/api/public/index.php/foo     --> OK

    in sostanza è il rewrite che non funziona bene.

  6. #6
    ok risolto:

    codice:
    <Directory /var/www/>
    	Options Indexes FollowSymLinks
    	#AllowOverride None
    	AllowOverride All
    	Require all granted
    </Directory>
    con AllowOverride All funziona.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.