Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Rewrite rule

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    58

    Rewrite rule

    Salve, ho un problema con il rewrite rule di apache.

    Sto tentando di riscrivere un Url dinamico incomprensibile con qualcosa di piú simpatico.

    Questo é l'esempio:

    URL originale: http://www.esempio.it/index.php?idsec=150&lg=ita&idref=1$


    URL desiderato: http://www.esempio.it/nomepagina.php



    Come fare?

    Grazie anticipate a chi avrá la pazienza di rispondere.

    Tim

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Ciao,
    hai fatto una ricerca?

    Ci sono svariati esempi al riguardo. Prova ad abbozzare una soluzione, e poi vediamo come migliorarla.
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    58
    Grazie Marketto per la risposta.

    Se io avessi un idea diversa dagli esempi che ci sono in giro non avrei postato qui la mia domanda. Il cercare l'errore nel mio copia incolla non servirebbe a nulla se non si ha ben chiaro cosa sto dicendo.

    Per chiarirti meglio ti faccio l'esempio che mi chiedi e ci metto dentro sicuramente gli errori cosí che tu poi probabilmente andrai a fare il copia incolla da un altra parte e mi dirai che ho sbagliato qua e lá.

    Vedi, il problema sta nel fatto che giá piú di qualcuno ha corretto il file .htaccess che avevo proposto, in decine di modi, ma alla fine non funziona lo stesso. Per questo chiedevo ad un vero esperto di creare lui per me il codice da inserire nel file .htaccess senza che io mostrassi nulla che alla fine fará perdere tempo e basta.

    Siccome sei stato molto gentile a rispondermi inserisco qui sotto il mio .htaccess nella speranza che serva a qualcosa.


    RewriteEngine on
    RewriteRule ^index.php?idsec=150&lg=italiano&idref=1/(.*)$ /nomepagina/.php/ [R,L]


    Torno a ripetere, a prescindere dal codice qui sopra sicuramente sballato, la pagina index?idsec=.... deve trasformarsi in "nomepagina.php" tutto qui!

    Grazie ancora per la partecipazione al post, e speriamo in bene.

    Tim

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Premesso che non sono un vero esperto e che le poche nozioni che conosco le ho apprese leggendo la documentazione e andando a guardare esempi già fatti, vedi se così ottieni il risultato atteso:
    codice:
    RewriteEngine on
    rewriterule ^nomepagina.php /index.php?idsec=150&lg=ita&idref=1 [L]
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    prova così...

    RewriteEngine On
    RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.php$ /index.php?idsec=$1&lg=$2&idref=$3 [L]

    il tuo href diventerà questo...

    http://ww w.esempio.it/150/ita/1.php
    NON ABBANDONATE CANI O GATTI!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    58
    Grazie Marketto e grazie Activ per le gentili risposte.

    Sia una che l'altra soluzione non hanno funzionato. Quella di marketto sarebbe stata ideale perché avrebbe ottenuto esattamente ció che cerco di fare, mentre quella di Activ anche se funzionasse non potrei usarla visto che lo scopo é dare un nome alla pagina e non dei numeri senza senso semantico.

    Ho inserito tutto su tre server diversi per provare, e anche in locale dove posso controllare molto meglio la configurazione, ma non c'é stato niente da fare. Comincio a credere che sia un problema di Editor o di qualche altra cosa che mi sfugge.
    Uno degli amministratori deí server dove poggiano le pagine, dopo aver visto in rete il mio .htaccess mi ha detto che il file .htaccess presentava dei caratteri ASCII che io non vedo quando lo creo o quando lo apro con il Notepad. Lui ha usato Proton mi ha detto. Qualche idea sul perché appaiono quei caratteri e del perché io non li veda?

    Mi chiedo anche se quando il mod_rewrite é postato su ON deve essere anche attivato o no il mod_negotation, il quale potrebbe interferire negativamente sull'operazione.


    Grazie anticipate a tutti e complimenti per la buona volontá nell'aiutare chi é in dificoltá.

    Tim

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Guarda i log di apache cosa dicono.
    think simple think ringo

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    58
    Grazie Marketto per la repentina risposta.

    Ho controllato i log di Apache sia degli accessi che degli errori.

    Errori= nessuno

    Accessi: 127.0.0.1 - - [11/Mar/2008:19:29:43 +0100] "GET /index.php?idsec=150&lg=ita&idref=1 HTTP/1.1" 200 24526

    Non so piú a quale santo rivolgermi a dire il vero...


    Grazie ancora per l'interessamento.

    Tim

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    a questo punto dubito il file venga proprio letto

    dentro l'htaccess scrivi
    codice:
    123prova
    e vediamo che succede
    think simple think ringo

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    58
    Ciao Marketto, grazie per la risposta.

    Ho provato a fare come dicevi pur sapendo che il file funziona e viene letto in quanto avevo provato dei redirect 301 che hanno "quasi" tutti funzionato.

    Dpo aver inserito 123prova nel file .htaccess la risposta del server é stata la seguente:

    Internal Server Error

    Il che la dice lunga sulla lettura di quel file.

    Possono degli URL non codificati con & provocare questi problemi al mod_rewrite ? Esempio: index.php?& idsec=150& lg=ita& idref=$1

    Sono l'unico problema che ho riscontrato nella struttura. Oggi tra l'altro codificheró tutti gli URL's ritentando nuovamente.

    Se hai altre idee sarebbe bello poterle mettere in pratica e vedere se risolvono il problema.

    Grazie ancora per la partecipazione

    Tim

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.