Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    ottenere url del tipo www.nomesito.it/nomescelto

    Mi sono sempre chiesto come fare per dare ad esempio a un utente un suo indirizzo del tipo www.miosito.it/suonome


    non potendo utilizzare mod rewrite l'unica idea che mi è venuta in mente è quella di creare un dir per ogni nome nella root e metterci dentro un file index.php che farà la redirezione alla pagina del tipo www.miosito.it/users/user.php?id=10 ma non mi sembra un'ottima soluzione...

    altre idee??
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    ci sono molti modi di fare quello che vuoi fare, ma non dai abbastanza informazioni per suggerirti la miglior soluzione.

    Che sistema operativo utilizzi, che tipo di account di hosting hai, quanti domini vi permettono ecc...

  3. #3
    allora ho un hosting linux su aruba...

    ho un solo dominio www.miosito.it


    non posso utilizzare mod_rewrite perchè il sito è già completamente indicizzato
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  4. #4
    ma il mod rewrite mica ti compromette l'indicizzazione

    potresti provare ad usare qualcosa del genere

    codice:
    <IfModule mod_rewrite.c>
    
        # Attiva i link simbolici, usati per il ridirezionamento delle rewrite rules
        Options +FollowSymLinks
        
        # Attiva il rewrite engine
        RewriteEngine on
    
        # Disattiva  l'eventuale  esecuzione  della regola se il file o la directory  richiesta  esiste
        # sul disco
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
    
        # Tramite  questa  regola,  tutte  le path passate le passa all'index tramite  il  parametro  p
        # aggiungendo alla fine della path anche la query string senza sovrascrivere quella presente
        RewriteRule ^(.*)$ pagina.php?p=$1 [L,QSA]
    
    </IfModule>
    in questo modo, se il percorso richiesto non è ne un file ne una directory apache passa al file pagina.php il parametro p dove mette per intero il percorso richiesto

    www.miosito.it/suonome

    viene recepito nella variabile $_GET['p'] del file pagina.php come
    /suonome

    a te basterà togliere la slash iniziale, verificare se esiste il nome e lanciare un redirect verso la pagina dell'utente altrimenti restituisci errore 404

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    Stai cercando di fare troppo con troppo poco.

    Perche' non acquisti un piano di hosting che ti fornisce la possibilita' di avere piu' domini?

  6. #6
    Originariamente inviato da daniele_dll
    ma il mod rewrite mica ti compromette l'indicizzazione

    potresti provare ad usare qualcosa del genere

    codice:
    <IfModule mod_rewrite.c>
    
        # Attiva i link simbolici, usati per il ridirezionamento delle rewrite rules
        Options +FollowSymLinks
        
        # Attiva il rewrite engine
        RewriteEngine on
    
        # Disattiva  l'eventuale  esecuzione  della regola se il file o la directory  richiesta  esiste
        # sul disco
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
    
        # Tramite  questa  regola,  tutte  le path passate le passa all'index tramite  il  parametro  p
        # aggiungendo alla fine della path anche la query string senza sovrascrivere quella presente
        RewriteRule ^(.*)$ pagina.php?p=$1 [L,QSA]
    
    </IfModule>
    in questo modo, se il percorso richiesto non è ne un file ne una directory apache passa al file pagina.php il parametro p dove mette per intero il percorso richiesto

    www.miosito.it/suonome

    viene recepito nella variabile $_GET['p'] del file pagina.php come
    /suonome

    a te basterà togliere la slash iniziale, verificare se esiste il nome e lanciare un redirect verso la pagina dell'utente altrimenti restituisci errore 404
    @daniele_dll stasera faccio un tentativo, spero funzioni e mi toglieresti proprio da una grande grana!

    @Webbabe lo so che non è un granchè ma mi danno spazio illimitato e altre cose che non posso permettermi di pagare di più, almeno per ora

    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  7. #7
    Originariamente inviato da Webbabe
    Stai cercando di fare troppo con troppo poco.

    Perche' non acquisti un piano di hosting che ti fornisce la possibilita' di avere piu' domini?
    Non vedo per quale motivo? il necessario per il corretto funzionamento del sito, comprensivo di rewrite rules, è supportato quindi perché cambiare hosting? e poi perché prenderne uno che supporti più domini? e soprattutto cosa c'entrano i più domini con il problema in questione?

    NOTA: ricordo a tutti i partecipanti, attuali e futuri, che è vietato parlare di hosting

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    Scusa, si e' creata una confusione su quello che voleva ottenere. Ha detto che non ha mod_rewrite? Giusto?

    Non e' detto che deve cambiare fornitore di hosting, puo' stare con Aruba, ma comprare un pacchetto che offre di piu'.

    Mi sembrava che volesse degli spazi Web separati all'interno di sottocartelle.

    Se non puo' utilizzare mod_rewrite per risolvere il problema, (perche' dice di non avere accesso), potrebbe provare ad usare una pagina personalizzata errore 404, per ottenere qualcosa di simile.

    Ma anche la pagina errore 404, forse non funziona perche' puoi usarla per una sola pagina per cartella.

    Da qui deriva l'osservazione che voleva fare troppo con quello che ha a sua disposizione.

  9. #9
    daniele_dll chiedo scusa per aver parlato di hosting... non succederà più...

    forse mi sono spiegato male, ho detto che non potevo usare il mod rewrite perchè non volevo perdere l'indicizzazione del sito... ma visto che daniele mi dice che non è così lo uso eccome...

    avevo letto un articolo ma forse era riferito al rewrite dei contenuti che in caso di doppio link del tipo www.sito.it/pagina.php?id=3 e www.sito.it/pagina/3.htm rischiano il ban da parte di google...


    comunque grazie a entrambi ora provo e faccio sapere!
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  10. #10
    grandioso!

    in locale funziona perfettamente così com'è (come hai scritto il parametro lo passa a pagina.php e non index.php ma è indifferente per me )

    mentre se a qualcuno servisse l'ho fatto funzionare anche sull'hosting commentando Options +FollowSymLinks

    <IfModule mod_rewrite.c>

    # Attiva i link simbolici, usati per il ridirezionamento delle rewrite rules
    # Options +FollowSymLinks

    # Attiva il rewrite engine
    RewriteEngine on

    # Disattiva l'eventuale esecuzione della regola se il file o la directory richiesta esiste
    # sul disco
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # Tramite questa regola, tutte le path passate le passa all'index tramite il parametro p
    # aggiungendo alla fine della path anche la query string senza sovrascrivere quella presente
    RewriteRule ^(.*)$ pagina.php?p=$1 [L,QSA]

    </IfModule>
    grazie ancora!
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

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.