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

    Reindirizzare invece di 404.error

    Salve!!
    Mi stavo chiedendo una cosa, ho un sito con pochissime pagine, alla fine del lavoro ne avrò un totale di 10-15 massimo (spero anche meno).

    Ho accesso alle pagine d'errore (posso modificarle, inserirci javascript,css...)

    Volevo sapere se era possibile in qualche modo reindirizzare l'utente alla pagina corretta:
    ES. Un utente, invece di andare alla pagina desiderata con la navigazione sul sito, ci va scrivendo l'url nella barra dell'indirizzo:
    vuole raggiungere la pagina http://www.website.com/thispage.html
    invece scrive http://www.website.com/tispage.php

    È possibile creare un sistema di reindirizzamento tramite javascript?
    Per esempio un codice contenente come variabili quelle 10~15 pagine che compongono il mio sito e un algoritmo che analizza la stringa inserita e vede con un margine d'errore se l'indirizzo richiesto può essere ricondotto ad una ed una sola delle pagine del mio sito, altrimenti proporre 2 o 3 pagine che l'utente potrebbe cercare.

    Per esempio analizza in un for l'indirizzo e prende prima 3 caratteri consecutivi alla volta, poi 4, poi 5, ecc.. (o il contrario) e vede se riesce a ridurre il campo ad una sola pagina che l'utente potrebbe desiderare. Mandandolo automaticamente lì anziché mostrargli la pagina d'errore 404. Nel caso l'algoritmo generi più di un indirizzo, nella pagina 404.error si suggeriscono quei 2/3 indirizzi o la possibilità di tornare alla home.

    Qualcuno può darmi una mano a pensare l'algoritmo migliore per fare questo (se c'è magari un sistema più semplice, qualche funzione dell'html/javascript che non conosco che già fa questo tipo di lavoro, senza inserire script macchinosi), e in caso aiutarmi a scriverlo XD
    Non sono proprio un asso con lo javascript.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La richiesta dell'utente la riceve il server, devi far esaminare la richiesta dal server e decidere in quella sede quale pagina fornire in alternativa... se spcifichi quale linguaggio usi (lato server) o perlomeno la tecnologia usata (Apache, IIS, altro) ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Ah sì? Beh, in effetti anche solo l'operazione di reindirizzare un utente alla pagina denominata 404.html dev'essere eseguita da qualcosa... Quindi dal lato server, giusto... Meglio agire alla base piuttosto che fare uno script che agisce dalla pagina 404, quando si è già reindirizzato l'utente su una pagina, troppe operazioni, informazioni da scaricare... XD

    La tecnologia è Apache, su kernel linux... Altre informazioni non te le so dare: questo su cui sto ora è un hosting da 4 soldi, sto ancora testando e sperimentando quello che voglio andare a fare, quindi mi sono semplicemente assicurato d'avere a disposizione un database mySQL ed uno spazio su disco sufficiente alle mie necessità iniziali, non mi sono informato su nient'altro.

    Purtroppo comunque non ho la minima idea dei linguaggi che dovrei adottare in questo caso, messa così brancolo nel buio XD
    Comunque grazie, magari nella sezione giusta qualcuno sa anche reindirizzarmi ad un tutorial o ad una demo.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ah beh, questo l'ho già fatto!! XD Solo che vorrei riportare l'utente alla pagina 404. o all'index nel peggiore dei casi, quello che mi interessava era scrivere uno script (nel linguaggio di Apache che manco sono riuscito a capire qual'è >.< mi pare ragioni in PHP?) che reindirizzasse l'utente alla pagina il cui nome è più simile a quello erroneamente digitato dall'user.
    Se per esempio sbaglia l'estensione della pagina (shtml o php anziché html) oppure se si dimentica una lettera (omepage invece di homepage) o semplicemente non scrive l'estensione (/page invece di /page.html)...
    Mi interessava uno script che potesse fare questo lavoro.
    Un idea su come strutturarlo a livello di sintassi ce l'ho, solo che non so in che linguaggio dovrei scriverlo a questo punto, e probabilmente non lo conosco nemmeno 'sto linguaggio (e sicuramente non sono ferrato).

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'unica idea che mi viene è se sai il nome di tutte le pagine del sito, cioè il sito non è dinamico ma statico ti crei una lista "pagine sito" con htaccess reindirizzi alla pagina error404.php?page=urldigitato (sempre che si possa fare non conosco bene php per affermarlo con certezza immagino di si) la variabile page la confronterai con la lista quelle più simili le mostrerai (sotto forma di link) nella pagina d'errore stessa tutta l'operazione io tenterei di farla in php, ma forse si riesce anche in js, che comunque non sarebbe semplice, vedi tu se ne vale la pena
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Secondo me, pur non avendo una lista delle pagine che compongono il sito,
    reindirizzare l'utente alla pagina corretta se questo ha scritto /pagina, senza l'estensione, è facile.
    Basta fare una prova con le estensioni classiche: url = /pagina, vedi se esiste /pagina.php, se non esiste vedi se esiste /pagina.html, se non esiste prova con /pagina.shtml, supponendo che tenterò di fare il sito quasi esclusivamente con estensioni .php credo che almeno questa prima parte risulterà semplice...
    Poi per l'altra cosa, senza per forza fare una lista delle pagine presenti, se per esempio l'utente ha tralasciato una o due lettere nella digitazione dell'URL...
    O creo un file che salva automaticamente qualunque nuova pagina venga inserita nel sito, una specie di elenco che si aggiorna automaticamente (sempre se è possibile, parlo per ipotesi perché non so ancora in che modo andrò a realizzare tutto questo, con quale linguaggio), oppure come il server può verificare l'esistenza di una pagina, potrà anche verificare dinamicamente (senza attingere ad una lista) il contenuto delle varie cartelle (tanto dovrà spulciare solo i file contenuti in public_html) in quel caso la lista si crea dinamicamente ogni volta che è richiesta.

    Comunque per ora sono solo ragionamenti e ipotesi, è tutta aria fritta finché non so con quali mezzi posso affrontare il problema XD
    Ma non credo che questo sia un problema che richiede una soluzione troppo complessa, va solo affrontato nel verso giusto.

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Quello che è certo è che devi agire lato server. Fatti spostare in PHP o in ASP in base a quello che usi. Si può fare anche in JavaScript, certo, ma non puoi ottenere la lista delle pagine realmente presenti con solo JavaScript, quindi se non hai a disposizione un linguaggio lato server dovrai listare tu a mano le pagine.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.