Visualizzazione risultati 1 fino 13 di 13

Discussione: PHP: realizzare redirect "notevoli"

  1. #1
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito PHP: realizzare redirect "notevoli"

    È possibile, tramite una opportuna pagina index.php, fare in modo che digitando qualcosa DOPO l'indirizzo del mio sito web (come fosse una cartella, in pratica) si possa accedere ad un contenuto già esistente sul mio sito in un'altra posizione.

    In altre parole, esiste lo strumento opposto ai subdomini che mi permette di accedere, ad esempio, alla pagina http://dementialsite.altervista.org/...doku/index.htm (link esistente) semplicemente digitando http://dementialsite.altervista.org/dualsudoku (link NON esistente)?

    Già che ci siamo, e se volessi combinare questa eventuale tecnica con quella dei subdomini, come posso fare?

    Grazie a chi risponde... statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Con i subdomini puoi vedere questo post, per il primo metodo dovresti fare una cosa simile usando un iframe con una pagina PHP nella pagina not_found.html.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Grazie del post, da quel che ho capito la variabile $_SERVER['HTTP_HOST'] citata nel listato contiene l'indirizzo del sito. Ma lo contiene tutto, così com'è scritto, o soltanto il nome dell'host (dementialsite.av.org)?

    Altra cosa: ho capito la tecnica della not_found.html, visto che i server di AV caricano quella, ma come faccio a conoscere in che pagina dovevo andare visto che, appunto, l'indirizzo è già stato cambiato in not_found.html?

    Stammi bene...
    Ultima modifica di dementialsite : 22-02-2006 alle ore 12.31.23
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per conoscere da che pagina si proviene si può usare $_SERVER['HTTP_REFERER'].
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    L'avatar di freeweb
    freeweb non è connesso Utente
    Data registrazione
    09-09-2002
    Residenza
    Torino
    Messaggi
    202

    Predefinito

    Per i subdomain dipende su che pannello agisci (nuovo o vecchio,

    potresti realizzare qualcosa tipo http://dualsudoku.dementialsite.altervista.org
    che punta a http://dementialsite.altervista.org/...doku/index.htm

  6. #6
    Guest

    Predefinito

    i subdomain sono supportati in tutti e 2 i tipi di account, basta un pò di ingegno

  7. #7
    Guest

    Predefinito

    In altre parole, esiste lo strumento opposto ai subdomini che mi permette di accedere, ad esempio, alla pagina http://dementialsite.altervista.org...udoku/index.htm (link esistente) semplicemente digitando http://dementialsite.altervista.org/dualsudoku (link NON esistente)?
    Basta che crei una cartella chiamata dualsudoku e ci metti index.php con:
    Codice PHP:
    <? header("Location: http://dementialsite.altervista.org/site4/gamingarea/dualsudoku/index.htm"); ?>
    Ciao!

  8. #8
    Guest

    Predefinito

    O se no puoi utilizzare la variabile
    Codice PHP:
    $_SERVER['SCRIPT_NAME']
    che restituisce tutto ciò che c'è dopo l'host (dementialsite.altervista.org), su di essa puoi usare la funzione strstr che cerca una sottostringa all'interno della stringa, e se c'è quello che ti interessa (sualsudoku) rimanda alla pagina che vuoi, con la funzione
    [php]header("Location: http://dementialsite.altervista.org/site4/gamingarea/dualsudoku/index.htm");

  9. #9
    L'avatar di freeweb
    freeweb non è connesso Utente
    Data registrazione
    09-09-2002
    Residenza
    Torino
    Messaggi
    202

    Predefinito

    Codice PHP:
    <?php
    include "/membri/.dummy/subdomains.php";

    switch(@
    GetSubdomain("tuonick", $HTTP_SERVER_VARS['HTTP_HOST'])) {

    case
    "nomesottodominio": Header("Location: /cartelladidestinazione");
    break;
    default:
    Header("Location: /dovevuoi");
    }

    ?>
    :-)

  10. #10
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito Grazie per le risposte, ma...

    [4 freeweb] Lo so come si creano i subdomini e ne ho già creati alcuni, ma preferivo che dessero più l'idea di un sito a sé stante piuttosto che collegarsi ad uno dei contenuti del sito

    [4 allo] L'idea l'avevo già considerata, ma l'ho poi scartata in previsione di quello che potrà diventare il mio spazio web, cioè un osceno mix di contenuti reali (per adesso, piuttosto ordinati dal punto di vista dei file) e redirect (che per ovvi motivi non posso mettere in una cartella a sé stante)

    [4 tuttoeniente2] L'idea mi stuzzica, ma dove e come la devo usare quella variabile? Ho provato ad aggiungere in index.php (dove c'è già il codice dei subdomini) questo codice:
    Codice PHP:
    switch ($_SERVER['SCRIPT_NAME'])
    {
    case
    'dualsudoku': Header("Location: /site4/gamingarea/dualsudoku/index.htm"); break;
    }
    ma non funziona, si carica comunque la pagina not_found.html...

    Un'idea alternativa l'ho avuta nel frattempo anch'io: quella di controllare se viene passato un parametro particolare, in modo che scrivendo ds4.av.org?warp=dualsudoku, venga aperta la pagina che ho chiesto. Ho quindi inserito questo codice:
    Codice PHP:
    if (isset ($_GET['warp']))
    {
    switch (
    strtolower ($_GET['warp']))
    {
    case
    "dualsudoku": Header("Location: /site4/gamingarea/dualsudoku/index.htm"); break;
    }
    }
    Già qualcosa, ma se si potesse fare come mi ero fissato in anticipo sarebbe ancora meglio...

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Con il file .htaccess puoi impostare alcune pagine non esistenti e mandarle ad altre.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    Guest

    Predefinito

    Scusa, basta mettere dentro quella cartella un file index.html con dentro un codice di redirect (se ne trovano a migliaia facendo una ricerca su google) che ora non mi ricordo

  13. #13
    Guest

    Predefinito

    Nel case del switch devi mettere anche la / prima del nome, perché $_SERVER['SCRIPT_NAME'] include anche quella.

    EDIT: Ehm... Piccolo particolare... Non mi era venuto in mente che se non esiste la pagina non visualizza index.php....
    Potresti (nella not_found.html) utilizzare uno javascript che fa un redirect a index.php?url=pagina-di-provenienza e questa index.php fa i controlli del caso per mandare al file giusto. C'era una discussione che ne parlava tempo fa, se fai una ricerca dovresti trovarla.
    Ultima modifica di tuttoeniente2 : 24-02-2006 alle ore 19.54.31

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •