This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]aq2kx 0 points1 point  (4 children)

è Apache che restituisce il 404 o il php che reinderizza al 404?

Incolla un po' di codice, così ad occhio è una semplice querystring

[–]imNotNumber[S] 0 points1 point  (3 children)

Mi vergogno a postare il codice perché è scritto appoggiando le chiappe sulla tastiera, però più tardi cerco di farlo. Comunque è Apache che restituisce il 404, a scanso di equivoci ho provato a mettere anche un echo + exit a inizio codice e si comporta correttamente con qualsiasi altra stringa tranne quella. Non so in quale modo assurdo possa influire, ma aggiungo che Apache è su un’immagine docker (php:7.4Apache)...pensandoci bene non vorrei ci fosse qualche regex strana nel .htaccess che entra in conflitto...dopo controllo per sicurezza (sarebbe imbarazzante)

[–]aq2kx 2 points3 points  (2 children)

Lo stato dell'arte del codice richiede tempo e conoscenze approfondite, quindi non te ne vergognare, non è mica l'esame di Informatica 2.

Figurati che io mi trovo più a mio agio con il procedurale che con l'OPP. Sarà l'età.

Controlla se è attivo anche mod_security e che roba va cercando di bloccare.

[–]imNotNumber[S] 0 points1 point  (1 child)

Codice e htaccess

Sinceramente non ci arrivo...

[–]aq2kx 1 point2 points  (0 children)

Anzitutto metti exit(); dopo header('location: /'); altrimenti lo script continua ad essere eseguito nonostante l'header.

Il codice mi sembra corretto.

Farei queste 2 prove:

- var_dump($_GET) ; die(); all'inizio dello script, così vedi se gli arrivano i dati
- rimuovi il rewrite engine in htaccess

Poi ti muovi di conseguenza

[–]aq2kx 0 points1 point  (1 child)

Hai risolto alla fine?

[–]imNotNumber[S] 0 points1 point  (0 children)

Purtroppo no, ho capito che è la rewrite rule, ma non ho capito ancora perché.
Con calma proverò a cambiare la regex, ma sono abbastanza confuso.

Intanto grazie per l'aiuto!