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. rewrite per tagliare query string e estensione
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      andreadm User Newbie • ultima modifica di

      rewrite per tagliare query string e estensione

      Ciao a tutti,

      ho una url così:
      dominio.it/index.php?articolo=articolo-uno

      con la seguente regola, in .htaccess:
      RewriteRule ^([^/]*).html$ /index.php?articolo=$1

      arrivo a questa:
      dominio.it/articolo-uno.html

      vorrei eliminare anche l'estensione .html arrivando a questa
      dominio.it/articolo-uno

      non riesco a farlo... C'è qualcuno con una dritta da darmi?
      Grazie
      Andrea

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • A
        ayrton2001 Super User • ultima modifica di

        Ciao andreadm,
        prova cosi:

        
        RewriteRule ^([^/]*)$ /index.php?articolo=$1 
        
        
        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          andreadm User Newbie • ultima modifica di

          no,

          purtroppo la regola riscritta così (nel modo che anche a me sembrava il più naturale) non funziona.
          restituisce un Internal Server Error, l'errore sul log di apache è:

          [Sun Jan 30 11:28:59 2011] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

          qualche idea?

          grazie
          A

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            ayrton2001 Super User • ultima modifica di

            Certo, va in loop.
            prova cosi:

            
            RewriteRule ^([^(.php)]*)$ /index.php?articolo=$1 [L,NC]
            
            
            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              andreadm User Newbie • ultima modifica di

              ottimo!

              ora funziona correttamente.

              Premesso che, secondo me, il mondo si divide in chi sa utilizzare le espressioni regolari e chi no (io sono nella seconda categoria...), quando hai un pò di tempo potresti descrivere la regola che mi hai passato?

              Il web è pieno di esempi e tutorial ma una spiegazione sul caso specifico mi sarebbe utilissima (e anche ad altri utenti!)

              Grazie,
              andrea

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                ayrton2001 Super User • ultima modifica di

                andreadm hai ragione, però cosi sprono ad informarsi 😉

                Neanche io conosco bene le espressioni regolari, anzi devo dire che sono un mio punto debole, ma per fortuna esiste internet :smile5:

                
                RewriteRule ^([^(.php)]*)$ /index.php?articolo=$1 [L,NC]
                
                

                (.php) indica la "parola" .php
                ^ indica una negazione

                • indica 0 o più occorrenze
                  dunque: qualunque parola formata da zero o più caratteri che non contiene ".php"
                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  andreadm User Newbie • ultima modifica di

                  avevamo cantato vittoria troppo presto...

                  la regola così funziona se all'interno della url riscritta non è presente ne una p ne un h

                  es.
                  dominio.it/sezione-uno, funziona

                  mentre
                  dominio.it/sezione-p-uno, non funziona

                  qualche idea per correggere la regola?

                  Grazie
                  Andrea

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    ayrton2001 Super User • ultima modifica di

                    Prova cosi:

                    
                    RewriteRule ^([^.]+)$ /index.php?articolo=$1 [L,NC]
                    
                    

                    Come vedi non sono molto bravo con le espressioni regolari. Infatti non sono riuscito a fare l'espressione corretta al 100% ossia escludere la parola ".php".

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • A
                      andreadm User Newbie • ultima modifica di

                      ok,
                      l'ho testata e funziona!

                      Grazie ancora,
                      Andrea

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • X
                        xbacco78 User Newbie • ultima modifica di

                        ciao a tutti
                        scrivo in questo topic perchè la mia necessità è simile a quella del topic ... in pratica mi servirebbe "comporre" un indirizzo di questo tipo:

                        nomesito . com/cartella1/file.html
                        oppure:
                        nomesito . com/cartella1/cartella2/file.html

                        dove cartella1 e cartella2 sono nomi dinamici, in base a quello che viene "creato" dall'utente ... è possibile come cosa?

                        ho provato ad utilizzare il codice sopra ma se nel nome della cartella c'è un "." non funziona + ... avete una soluzione da suggerirmi? 😞 grazie mille

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • A
                          ayrton2001 Super User • ultima modifica di

                          Ciao xbacco78,
                          anziche ^([^.]+)$ utilizza ^(.*)$

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • M
                            manuelht User • ultima modifica di

                            Ciao ragazzi anch'io ho un problemino analogo a xbacco78

                            In pratica mi servirebbe un mod_rewrite per questi due tipi tipi di URL.

                            1. dominio . com/categoria.php?code=board-to-board
                            2. dominio . com/prodotto.php?code=prodotto-prova

                            per il primo ho utilizzato questa regola come suggerita da ayrton:

                            RewriteRule ^prodotti/([^.]+)$ /categoria.php?code=$1

                            in modo che sia visibile la pagina da questo indirizzo:

                            dominio . com/prodotti/board-to-board

                            Mentre per il secondo c'è un problema, dovrei rendere visibile la pagina da questo indirizzo:

                            dominio . com/prodotti/board-to-board/prodotto-prova

                            Solo che nessuno dei metodi che ho utilizzato funziona, sostanzialmente la parte che viene passata è quella finale (prodotto-prova)

                            Che codice posso provare per farli funzionare tutti e due?

                            Grazie mille

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • M
                              manuelht User • ultima modifica di

                              Nessuno ha qualche suggerimento?

                              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