- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- Nuovi messaggi e status code 301
-
Nuovi messaggi e status code 301
Buondì,
ho notato che alcuni forum vb, quando eseguono la query "nuovi messaggi", aka "do=getnew", rispondono con uno status code 302 e poi reindirizzano verso una pagina contenente i risultati.Ad ogni richiesta di "nuovi messaggi", visto il 302, il browser riesegue la richiesta "do=getnew" presso il server, se nulla è cambiato ritorna la stessa pagina di prima.
Fin qui tutto bene, se non che alcuni forum mi ritornano 301, impedendo di fatto al browser di richiedere "do=getnew", che si limita a fare quello che gli è stato detto, ovvero richiama la pagina a cui era stato reindirizzato.
Lasciando cadere il discorso di cambiare il browser, qual'è la modifica da apportare a vb perchè ad una richiesta "do=getnew" risponda 302 (come il forum GT) e non 301?
Ringrazio
-
Ciao.
Non credo di aver capito bene... Però la domanda nasce spontanea. Quando sposti i topic lasci il redirezionamento? Con quello viene spostato tutto.
-
In pratica, da quello che ho capito, è una funzione interna di VB.
Facendo search.php?do=getnew il sistema automaticamente risponde con un redirect 301 verso search.php?searchid=XXXXX.
(lo si può guardare con live http headers)
Alcuni forum, direi tutti, anziché lo status 301 inviano lo status 302 (ad esempio forumgt), quindi suppongo sia qualche cosa da modificare nel codice (vBulletin Versione 3.5.6), ma non trovo nulla in rete se non discussioni di utenti che brontolano e di admin che dicono di aver cambiato lo status code a 302.La domanda è, come si fa?:o
-
Intendi la scritta
Spiacenti, non ci sono discussioni da visualizzare.
?
-
Provo a dettagliare:
GET /search.php?do=getnew HTTP/1.1
Host: NOMEHOST
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9 GTB6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://NOMEHOST/HTTP/1.1 301 Moved Permanently
Date: Wed, 14 Apr 2010 12:03:20 GMT
Server: Apache/2.0.46 (Red Hat)
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.2
Expires: 0
Cache-Control: private, post-check=0, pre-check=0, max-age=0
Pragma: no-cache
Location: http://NOMEHOST/search.php?searchid=882599
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8Questo è il processo della GETNEW, come si vede risponde un 301 verso un'altra pagina. Io vorrei sostituire questo 301 con il 302.
Spero sia più chiaro.
(se si guarda con live http headers il forum GT, di vede il 302 al posto del 301).
-
Sinceramente non ho capito. Vediamo se karapoto sa come fare.
-
Provo a rispiegare empiricamene.
Apro un browser su un forum vb, ad esempio questo
Mi loggo e clicco sul pulsante "Nuovi messaggi" che chiama questa pagina "search.php?do=getnew".
La risposta del server, ovviamente legata al funzione di vbullettin è la risposta che vedi loggata sopra, ovvero risponde così:La pagina che cerchi è 301, spostata permanentemente a "search.php?searchid=882599"
A quel punto il browser richiede la pagina "search.php?searchid=882599" che viene visualizzata.
Magari non ti eri mai accorto di questo "funzionamento".
Ora il mio problema è capire com'è possibile che questo forum (e quasi tutti gli altri forum) risponda un 302, ovvero spostato temporaneamente alle richieste verso getnew, mentre il mio risponde 301.
Non sono pagine che sposto io, ma è proprio l'iter di generazione della lista "nuovi messaggi".
-
mmm.... Vediamo un pò.
Quando sposto un topic lascio sempre la voce, durante lo spostamento, su "Lascia un collegamento a questo topic" in modo da far spostare chi clicca in una sezione X, nella sezione Y in cui si trova il topic.
Forse intendi quelli?