Bonjour,

J'ai un petit soucis, la méthode get en passant dans l'url n'est pas reconnue sur d'autres routes que la home '/'
exemple: /test?foo=bar

Ce que je veux

J'aimerais que les requêtes faites dans l'url fonctionnent, j'en ai besoin pour utiliser un portail d'authentification

Ce que j'obtiens

Quand je dump $_GET sur ma route home 'website.domain?foo=bar' j'obtiens bien foo=bar mais lorsque je $_GET sur une autre route comme 'website.domain/test?foo=bar' je n'obtiens rien dans mon dump de $_GET, un tableau vide m'est retourné.

Je ne trouve aucune solution sur internet, peut être ma recherche est mauvaise. Avez-vous des idées ?

2 réponses


Chirikumo
Auteur
Réponse acceptée

J'ai trouvé mon problème, c'était ma configuration Nginx qui n'était pas correcte.

Ma nouvelle configuration si ça peut aider:

nginx.conf


server {
    #proxy_cache cache;
    #proxy_cache_valid 200 1s;
    listen 8080;
    listen [::]:8080;
    root /home/site/wwwroot/public;
    index  index.php index.html index.htm;
    server_name  example.com www.example.com; 
    port_in_redirect off;
    client_max_body_size 1000M;

    location / {            
        try_files $uri $uri/ /index.php$is_args$args;
    }

    error_page 404 /index.php;

    # Disable .git directory
    location ~ /\.git {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Add locations of phpmyadmin here.
    location ~ ^/index\.php(/|$) {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_intercept_errors on;
        fastcgi_connect_timeout         300; 
        fastcgi_send_timeout           3600; 
        fastcgi_read_timeout           3600;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

    error_log /var/log/nginx/project_error.log;
    access_log /var/log/nginx/project_access.log;
}```

Salut,

C'est un peu difficile de t'aider car nous avons peu d'information sur ton code.
Si tu utilises WAMP avec apache, install apache-pack -> composer require symfony/apache-pack
cela générera un fichier .htacess dans ton dossier /public pour prendre en compte tes routes avec apache.

Autrement et bien que cela reviens a la même chose, sur symfony on utilise l'object Request $request->query est égal à $_GET. $request->request est egal à $_POST

Cordialement,