Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. La Community Connect.gt
    4. News Ufficiali da Connect.gt
    5. .htaccess per più files?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • P
      potoloso User • 2 feb 2011, 16:13 ultima modifica di

      .htaccess per più files?

      Buongiorno, di seguito una domanda alla quale non ho trovato risposta durante le mie ricerche.
      Ho capito come impostare il file .htaccess per visualizzare permalink personalizzati, nella fattispece per ciò che serve a me è sufficente:

      RewriteBase /
      RewriteEngine On
      RewriteRule ([^/]+).html$ index.php?p=$1

      sito.com/argomento.html

      Il problema nasce quando da un'elenco articoli devo suddividere le pagine, quindi passando un'altra variabile GET, ed ho così modificato il permalink, e tutto funziona:

      RewriteRule ([^/]+)_([^/]+).html$ index.php?p=$1&page=$2

      sito.com/argomento_5.html

      Ma mi esce sempre e comunque il numero di pagina (la variabile $2), anche quando è la prima, cosa molto antipatica, sarebbe bello che i link fossero così:

      sito.com/argomento (pagina 1)
      sito.com/argomento_5 (pagina 5)

      Sarà mai possibile?
      Si devono impostare le condizioni?
      Da quel che ho trovato le condizioni servono ad altro...

      E poi ancora, attraverso index.php, genero pagine di ogni genere, da un'elenco prodotti ad un'anagrafica utenti, quindi passo parecchie variabili, nel caso dei prodotti possono essere 2 o 3, mentre per le anagrafiche solo 2, ma, indipendentemente da ciò che voglio vedere devo impostare il permalink prevedento tutte le variabili, e se sono vuote mi restituisce ovviamente errore.
      Pensavo quindi di impostare index.php in un modo, e ad esempio articoli.php in un'altro:

      RewriteRule ([^/]+)_([^/]+).html$ index.php?p=$1&page=$2
      RewriteRule ([^/]+).html$ articoli.php?art=$1

      Non mi funziona ovviamente, in quanto dall'url non riesco a capire che pagina è; c'è un modo per assegnare a pagine diverse (files diversi) impostazioni diverse?
      In altrenativa posso creare directory "vere" dove impostare un'.htaccess ad ogniuna, ma capirete che diventa complessa la gestione; penso ci sia una soluzione, ma da "nuovo" non riesco a vederla...

      Grazie in anticipo 🙂
      Ciao

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • P
        potoloso User • 2 feb 2011, 20:47 ultima modifica di

        Forse ci sono...
        Cerchi per ore e basta mettere un post che subito leggi la soluzione da qualche parte...

        RewriteBase /
        RewriteEngine On
        RewriteRule ([^/]+)_([^/]+).html$ index.php?p=$1&page=$2
        RewriteRule articoli/([^/]+).html$ articoli.php?p=$1

        E' perfetto... peccato che non funzioni.
        Se sostituisco "...articoli/([^/]+)..." con "...articoli~([^/]+)..." però funziona!

        Sono al punto di prima... 😞

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          ayrton2001 Super User • 3 feb 2011, 00:54 ultima modifica di

          Ciao potoloso,

          @potoloso said:

          Ma mi esce sempre e comunque il numero di pagina (la variabile $2), anche quando è la prima, cosa molto antipatica, sarebbe bello che i link fossero così:

          sito.com/argomento (pagina 1)
          sito.com/argomento_5 (pagina 5)

          Puoi fare una doppia regola:

          
          RewriteRule ([^/]+).html$ index.php?p=$1&page=1 
          RewriteRule ([^/]+)_([^/]+).html$ index.php?p=$1&page=$2 
          
          

          @potoloso said:

          Forse ci sono...
          Cerchi per ore e basta mettere un post che subito leggi la soluzione da qualche parte...

          RewriteBase /
          RewriteEngine On
          RewriteRule ([^/]+)_([^/]+).html$ index.php?p=$1&page=$2
          RewriteRule articoli/([^/]+).html$ articoli.php?p=$1

          E' perfetto... peccato che non funzioni.
          Se sostituisco "...articoli/([^/]+)..." con "...articoli~([^/]+)..." però funziona!

          Puoi scrivere un link di esempio con cui richiami la pagina della seconda regola?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • P
            potoloso User • 3 feb 2011, 07:19 ultima modifica di

            Certamente:

            RewriteRule articoli/([^/]+).html$ articoli.php?p=$1
            sito.com/articoli/nomearticolo.html

            Così non funziona, ma se cambio il carattere "/" con per esempio "~" funziona:

            RewriteRule articoli~([^/]+).html$ articoli.php?p=$1
            sito.com/articoli~nomearticolo.html

            Perfetto per la regola che se "page=1" non compare il numero di pagina. 😄

            Grazie

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              ayrton2001 Super User • 4 feb 2011, 02:03 ultima modifica di

              Hai impostato il

              
              RewriteBase /
              
              

              ?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • P
                potoloso User • 4 feb 2011, 07:08 ultima modifica di

                Si, questo il codice completo:

                RewriteBase /
                RewriteEngine On
                RewriteRule ([^/]+)_([^/]+).html$ index.php?p=$1&page=$2
                RewriteRule articoli/([^/]+).html$ articoli.php?p=$1

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  ayrton2001 Super User • 4 feb 2011, 23:49 ultima modifica di

                  prova cosi:

                  
                  RewriteEngine On
                  RewriteBase /
                  RewriteRule ^([^/]+)_([^/]+).html$ /index.php?p=$1&page=$2 
                  RewriteRule ^articoli/([^/]+).html$ /articoli.php?p=$1 
                  
                  
                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    potoloso User • 6 feb 2011, 14:46 ultima modifica di

                    Niente da fare, ora tutto 404 not found!
                    In realtà sto lavorando in una directory di test chiamata "perma", ma non dovrebbe esserci differenza, quindi il codice esatto in realtà è:

                    RewriteEngine On
                    RewriteBase /perma/
                    
                    RewriteRule ^([^/]+)_([^/]+).html$ /index.php?p=$1&page=$2 
                    RewriteRule ^articoli/([^/]+).html$ /articoli.php?p=$1 
                    

                    Se tolgo la "/" prima dell'index nel primo RewriteRule però funziona:

                    RewriteRule ^([^/]+)_([^/]+).html$ /index.php?p=$1&page=$2  //non va
                    RewriteRule ^([^/]+)_([^/]+).html$ index.php?p=$1&page=$2  //va
                    

                    Mentre per il secondo RewriteRule non fa differenza, sempre errore.

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • A
                      ayrton2001 Super User • 7 feb 2011, 12:21 ultima modifica di

                      Avevo scritto che l'url era del tipo sito.com/articoli/nomearticolo.html
                      senza la cartella perma.

                      Se i due url sono del tipo:
                      perma/aaa_bbb.html (file index.php dentro perma) e articoli/aaa.html (file articoli.php nella document root), prova cosi:

                      
                      RewriteEngine On
                      RewriteBase /
                      
                      RewriteRule ^perma/([^/]+)_([^/]+).html$ /perma/index.php?p=$1&page=$2 
                      RewriteRule ^articoli/([^/]+).html$ /articoli.php?p=$1 
                      
                      
                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti