Creare Link brevi

Ciao a tutti

ho bisogno di mano per creare i link brevi.

Ho provato bitly e google short link e non mi piaccio tanto.

Ho visto URL Management a questo link http://www.yiiframework.com/doc/guide/1.1/en/topics.url e devo dirvi che non c’ho capito tanto.

Ho questo link http://localhost:8888/demo/newsletter/index.php?r=newsletter/confermaEmailiscrizione&email=bkhurram.619@gmail.com&token=475f22e109be156001b975c87408c7fe che vorrei trasformarlo in più breve possibile.

c’è solo un controller (“NewsletterController”)

action ("actionIscrizione", "actionConfermaEmailIscrizione", "actionEditIscrizione" ecc)

view ("iscrizione" , "formConfermaCodice" e "editiscrizione")

Bell’idea che hai avuto.

Se dovessi implementare una soluzione creerei una tabella short_link(id, url)

dove in url ci metti il tuo url lungo, salvi e ti ricavi l’id che userai nella newsletter

poi il controller cercherà l’id, individuerà quello lungo originale e farà un bel redirect

hmm, bell’idea

se invece volessi fare con URL Management, come faccio a farlo?

generi il model ed il crud della tabella che ha indicato Giancarlo =)

voglio trasformare il link da


http://localhost:8888/demo/newsletter/index.php?r=newsletter/confermaEmailiscrizione&email=bkhurram.619@gmail.com&token=475f22e109be156001b975c87408c7fe

a


                                                 controller/action                 /email                 /token

http://localhost:8888/demo/newsletter/index.php/newsletter/confermaEmailiscrizione/bkhurram.619@gmail.com/475f22e109be156001b975c87408c7fe

Nel file di configurazione c’è l’urlManager. Assicurati che ci sia questa parte:


        'urlManager' => array(

            'urlFormat' => 'path',

            'rules' => array(

                '<controller:\w+>/<id:\d+>' => '<controller>/view',

                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',

                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

            ),

        ),


\w+ 

\d+

a che cosa servono?

penso

w=word

d=digit

prova magari a leggere questo topic in cui avevo chiesto più o meno le stesse cose:

http://www.yiiframework.com/forum/index.php/topic/27325-il-crud-di-gii-puo-lavorare-con-chiavi-primarie-di-tipo-stringa/

Grazie di tutto ci sono riuscito




'urlManager' => array(

            'urlFormat' => 'path',

            'rules' => array(

   

                '<controller:\w+>/<action:\w+>/<email:\w+>/< token:\w+>' => '<controller>/<action>',

                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

            ),

        ),



Dato che la tua idea mi sembra molto utile anche per altri (o almeno per me)

avresti voglia di postare gli spezzoni di codice che implementano questa cosa?