Visualizzazione dei risultati da 1 a 5 su 5

Discussione: mod_rewrite

  1. #1

    mod_rewrite

    Ciao, devo realizzare un portale in cui i contenuti sono gestiti da un utente, in questi contenuti l'utende sceglie un link di terzo livello (se così si può dire) che verà lincato nel browser in questo modo

    www.sito.it/linkTerzoLivello

    quel linkTerzoLivello sarà una cartella che ci andranno messi tutti i contenuti che devono essere visualizzati, inoltre quella cartella contiente materiale che non deve essere visto o puntato direttamente. Per questo non ci sono problemi, utilizzo htaccess. Per realizzare questo www.sito.it/linkTerzoLivello ho pensato di utilizzare il more_rewrite, non ci sono problemi nella realizzazione di tutto, il mio dubbio sta nel fatto se la soluzione è corretta, in quanto il file htaccess potrebbe diventare molto grande, e si potrebbe rallentare di molto la visualizzazione del portale.
    Chiedo a voi se la mia soluzione è corretta, oppure se ci sono altre soluzioni migliori.

    Grazie in anticipo.


  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    14
    Ciao,

    Secondo me la soluzione migliore è proprio htaccess, ma facendo solamente in modo tale che ogni richiesta all'indirizzo
    [cheneso].sito.it
    sia trasformata a livello server in
    www.sito.it/[cheneso]

    La gestione dei link invece sarebbe data al sito stesso, che invece di usare link contenenti l'indirizzo vero (cioè www.sito.it/[cheneso]/qualcosa..) userebbero l'indirizzo contenente il link di terzo livello (cioè [cheneso].sito.it/qualcosa..).

    Non so se sono riuscito a spiegarmi, quindi faccio un piccolo esempio. Nel file .htaccess metterei il seguente codice
    --------------------------------------
    RewriteEngine On
    Options +FollowSymlinks
    RewriteBase /
    RewriteCond %{HTTP_HOST} cheneso.sito.it
    RewriteCond %{REQUEST_URI} !cheneso/
    RewriteRule ^(.*)$ cheneso/$1 [L]
    --------------------------------------

    Poi qualasiasi link all'interno delle pagine contenute nella cartella cheneso sarebbero così:
    Home page

    Spero di essere stato chiaro
    Cristiano

  3. #3
    Originariamente inviato da ceglia82
    Ciao,

    Secondo me la soluzione migliore è proprio htaccess, ma facendo solamente in modo tale che ogni richiesta all'indirizzo
    [cheneso].sito.it
    sia trasformata a livello server in
    www.sito.it/[cheneso]

    La gestione dei link invece sarebbe data al sito stesso, che invece di usare link contenenti l'indirizzo vero (cioè www.sito.it/[cheneso]/qualcosa..) userebbero l'indirizzo contenente il link di terzo livello (cioè [cheneso].sito.it/qualcosa..).

    Non so se sono riuscito a spiegarmi, quindi faccio un piccolo esempio. Nel file .htaccess metterei il seguente codice
    --------------------------------------
    RewriteEngine On
    Options +FollowSymlinks
    RewriteBase /
    RewriteCond %{HTTP_HOST} cheneso.sito.it
    RewriteCond %{REQUEST_URI} !cheneso/
    RewriteRule ^(.*)$ cheneso/$1 [L]
    --------------------------------------

    Poi qualasiasi link all'interno delle pagine contenute nella cartella cheneso sarebbero così:
    Home page

    Spero di essere stato chiaro
    Cristiano
    Più o meno ho capito, ma il problema è che il mio cliente vuole un indirizzo del genere www.sito.it/cartella dove cartella sarebbe il nome della scheda che lui ha messo nel database. Poi non importa se i link all'interno di quella cartella sono diversi, l'importante è che scrivendo qull'indirizzo (non sarà visibile attraverso i motori di ricerca in quanto il sito è maggior parte privato) si apre quelle scheda. Comunque anche tu hai optato per il mod_rewrite, quindi la mia scelta direi che è giusta, magari mi hai dato un'alternativa, ma nel mio caso non mi è molto utile. Ti ringrazio ugualmente.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    14
    Scusami avevo frainteso il tuo LinkTerzoLivello con dominio di terzo livello

    Cmq si puoi farlo, sempre con mod_rewrite, ed io farei così:
    --------------.htaccess----------------
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^scheda-(.+)$ scheda.php?nome=$1
    -------------fine-----------------------

    In questo modo qualsiasi indirizzo del tipo www.sito.it/scheda-nomescheda sarà trasformato in www.sito.it/scheda.php?nome=nomescheda.
    Se poi non hai bisogno di un identificativo prima dell'indirizzo (io ci ho messo scheda- ma ci puoi mettere quel che ti pare) puoi semplicemente togliere scheda- da RewriteRule e così qualsiasi richista viene passata al file scheda.php.

    Spero di esser stato utile.
    Cristiano

  5. #5
    Grazie mille del donsiglio, alla prossia

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.