- Home
- Categorie
- Coding e Sistemistica
- PHP
- Gestione permalink per sito
-
Gestione permalink per sito
Salve, è da qualche giorno che mi interesso dell'argomento, e mi stavo chiedendo appunto se fosse corretto il loro utilizzo nel modo seguente
miosito.com/discussione/salve-sono-pippo-163
Nella pagina .php utilizzando $_SERVER['REQUEST_URI'] esamino l'url e di conseguenza agisco in un modo o in un altro
Esempio nel primo caso (news) saranno inserite le ultime notizie o quelle più rilevanti
Nel secondo caso utente lo associo alla tabella del db (non obbligatoriamente con lo stesso nome) contenente gli utenti registrati e di conseguenza pippo è il nome univocoNell'ultimo caso invece prendo in considerazione il numero 163 che sarà un id
Ho notato, che alcuni siti utilizzano questo metodo per la gestione dei permalinks, se non erro wordpress grosso modo utilizza $_SERVER['REQUEST_URI']
Leggendo un po in giro per il web, ho potuto notare che altri utilizzano un approccio differente cioè impostando una regola nell' htaccess differente da quella utilizzata da wordpress, e gestiscono l'url con il $_GET[]
Cosa ne pensate? grazie
-
Io penso dio aver capito quello che intendi...spero
Personalmente in un mio progetto che esporrò a breve ho replicato lo stile dei permalink di wordpress, con tanto di stesse regole htaccess e ti dico cosa ho imparato:- Le regole htaccess di wordpress, servono esclusivamente per reindirizzare tutto ciò che non è all'interno del host ( spazio ) dando un 404
Ora, l'approccio di wordpress è questo;
nomesito.it/?p=numero (post)
nomesito.it/?page=numero (page )
nomesito.it/?attachment=numero (attachment )
etcAnalizzando tutto in profondità, i parametri in get, sono tutti i post_type della tabella wp_posts
Questo cosa ci dice?
Che cmq vada la tabella contenente i dati è sempre la stessa e dato che nel momento in cui noi inseriamo un nuovo post, una nuova pagina o media o categoria etc, la prima cosa che wordpress controlla è se esiste già una url uguale, se esiste inserisce un numero per differenziarla.
Quindi nel momento in cui utilizziamo i permalink, la struttura sa già che $_SERVER['REQUEST_URI'] sarà sempre una url della tabella wp_posts e sarà sempre univoca e ti permetterà di evitare l'inserimento di numeri ( id ).Ora, da qui a realizzare una cosa simile è piuttosto complicata, soprattutto se hai davanti un sistema già fatto.
Altri cms utilizzano appunto il mod_rewrite perchè si appoggiano ad una moltitudine di tabelle.
La vera forza di wordpress è proprio questa. Qualsiasi cosa che non sia un dato integrativo della piattaforma viene scritta nella tabella wp_posts.
-
Innanzitutto grazie per la risposta e la condivisione della tua esperienza personale, avevo più o meno capito che wp funzionasse in questo modo. Io stavo pensando appunto di utilizzare le stesse regole di rewrite (grazie alle quali non avremo un errore 404) nel file .htaccess per reindirizzare l'url richiesto dal browser a una specifica pagina php che avrà il compito di analizzarlo.
Un esempio di quello che vorrei realizzare penso sia questa stessa pagina, l'url è formato da
forum: cioè una cartella fisica presente sul server,
php-mysql: che è associato a un campo di una tabella nel db (chiamiamolo sub-forum),
227657: un campo di un altra tabella (id della discussione in sostanza),
-gestione-permalink-per-sito.html (titolo della discussione)
Stavo quindi pensando di utilizzare quella funzione di php e strutturare le pagine in base alla richiesta dell'url in sostanza se la pagina/categoria, è presente nel database o comunque è predisposta per esistere restituirà una determinata pagina, altrimenti richiamerà la pagina 404.
Quello che mi chiedo è se può essere un modo decente per gestire le mie pagine
-
È tutto gestibile con il mod rewrite, poi che sia giusto o no non saprei. Io per mia esperienza personale ora che creato una piattaforma che posso modellare come voglio e mi sono levato le beghe del mod rewrite non cambio piu.
anche perche compilare un htaccess di un cms con svariate funzioni, puo esser davvero complesso. Ci sono passato piu e piu volte