Riscrivere URL per i post di un blog senza passare ID

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Amici, chiedo qui a voi non avendo trovato nulla di utile in giro. Anzi, a dire il vero, non so nemmeno come tradurlo in parole chiave per la ricerca. Spero qualcouno qui afferri. Dunque.

Blog integrato nel mio sito.
miosito.it/?modulo=blog&id_post=5&titolo=Titolo
Poi, riscritto, mi diventa:
miosito.it/blog/5/Titolo

Ora voglio migliorarlo, specie in chiave SEO. Mi occorre una cosa del tipo
miosito.it/blog/Titolo-del-post
Per cui ho la pagina blog.php che, dinamicamente, dovrebbe essere:
blog.php?titolo=Titolo

Problema a livello di codice di progettazione di tutta sta cosa è che finche mi baso sulla chiamata $_GET['id_post'] per generare la pagina che ospiterà l'articolo, funziona tutto egregiamente. Cambiando direttive e lavorando con $_GET['titolo'] non regge. Ho bisogno di gestire il blog senza dover mettere in chiaro l'ID del post nei link perchè poi, riscrivendo il tutto con il famoso .htaccess, farò sicuramente grandi passi avanti in chiave SEO.

Al momento funziona con
miosito.it/blog.php?id_post=5&titolo=Titolo

Il problema è, appunto, che devo essere più I(n)Dipendente, mannaggia :(
Qualcuno ha mai avuto pensieri in merito?


Grazie as usual :)
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Do una rinfrescata al topic.
Mi hanno suggerito di dare un occhio a soluzioni jQuery quasi a mascherare.
Sono ancora più perplesso di prima.

E continuo comunque a non trovare parole (chiave) per cercarmi soluzioni su Google.
Fosse stato un sito in WordPress mi sarebbero bastati due click.

Uff :(
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Cercando in lungo e in largo tutorial per la creazione di blog...
Niente da fare, oh, tutti che partono con l'ID del post e se lo gestiscono così.
Anche la guida che ho visto proprio qui sul sito...


Ma sto chiedendo una cosa insensata o impossibile da realizzare?
O così complessa da renderla inspiegabile?


:(
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Ancora nulla.
Ho proprio esaurito le idee, sono prossimo alla disperazione.
Nessuno che si fa avanti?

Nessuno? Nessuno? Nessuno?
Magari anche una cosa stupida mi illuminerebbe

:(
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
la query di estrazione in blog.php non puoi basarla sul titolo?

No, se passo il titolo del blog non funziona.
Solo il parametro univoco ID mi viene dato per buono.
Io ho bisogno, in sostanza, di nascondere l'ID del post del blog dall'URL finale...

Perchè, in ottica SEO, voglio avere una cosa del tipo
miosito.it/blog/Titolo-del-post/ oppure miosito.it/blog/Titolo-del-post.html
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Riflessione al volo per refreshare il topic.

Pensavo: e se nascondessi parte dell'URL con il file htaccess? E' fattibile?
In giro ho visto qualcuno farlo ma forse ho male interpretato io.
Proprio su questo forum tempo addietro mi dissero che quando riscrivi la regola se passi tot parametri quelli devono rimanere. Ragion per cui rimando ancora nel caos...
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Proseguono le ricerche per la risoluzione di questo topic/mio problema.

Riprendo quanto mi occorre fare. Alla pagina
miosito.it/blog.php?id_post=5&titolo=Titolo
voglio avere il link riscritto
miosito.it/blog/Titolo/
che fa bene al SEO e fa anche figo :)
Quindi, nascondere l'ID del post.

> Tempo fa, discutendo proprio su questo forum di rewrite URL e htaccess mi dissero che, quando riscrivo gli indirizzi, se passo tot parametri quelli devono rimanere pari pari. Il che mi fa pensare che non sia possibile quindi nascondere l'ID del post tramite il file htaccess.

> D'altro canto, però, credo che con il PHP non si riesca in quanto chiamare il post del blog tramite Titolo non da garanzie di unicità come invece l'ID, intero autoincr. che è fatto apposta per questo. Ho letto ogni genere di guida e visto ogni tutorial in merito a blog costruiti con il PHP e nessuno si pone questo problema, lavorano tutti con l'ID e via.

Ho girato in lungo e in largo per Google e sono giunto ad una conclusione:
una delle due opzioni non ha motivo di essere. Deve essere necessariamente (in parte o del tutto) sbagliata.
Altrimenti, cos'è, una esclusiva di WordPress, questa?!

...o c'è una terza via che mi sfugge?
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Noto con sommo dispiacere che sta diventando più un monologo che un topic.
Credo comunque di essermi avvicinato un poco alla soluzione...

Sostanzialmente dovrei creare un ulteriore campo, slug, da utilizzare al posto dell'ID per richiamare il post che mi interessa. Ottenibile facilmente con una funzioncina che mi prende per esempio il titolo del post e me lo rende così:
titolo del mio post --> titolo-del-mio-post
e riscrivendo la regola nel file htaccess come già fatto.

Il problema è che non riesco a rendere UNICO il campo SLUG nuovo aggiunto alla tabella del blog.
Ci provo ma mi da l'errore 1062 e quindi resto bloccato.

A questo punto forse c'è un errore mio da qualche parte ma sto ricontrollando e mi pare tutto in ordine.

Suggerimenti in questo senso?
Dai che forse riusciamo a chiudere il topic!!


:)
 

maxbossi

Amministratore
Membro dello Staff
ADMIN
MOD
25 Feb 2003
2.020
42
48
www.ikiweb.it
Ciao JtothaX,

Quello che vuoi fare è fattibile, una soluzione è fare la query col titolo (che deve essere unico ed impostato come chiave nel DB) ma è una soluzione che non ti consiglio se il blog ha moltissimi post (diverse decine di migliaia)... in tal caso potresti implementare una soluzione basata su cache cioè scrivere (in automatico) dei file fisici con la struttura di URL che ti sei messo in mente...
WordPress lo fa ma le performances non sono il massimo se non implementi un qualche plugin per la cache...

In bocca al lupo

ps: modifico il titolo della discussione
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Ciao JtothaX,

Quello che vuoi fare è fattibile, una soluzione è fare la query col titolo (che deve essere unico ed impostato come chiave nel DB) ma è una soluzione che non ti consiglio se il blog ha moltissimi post (diverse decine di migliaia)... in tal caso potresti implementare una soluzione basata su cache cioè scrivere (in automatico) dei file fisici con la struttura di URL che ti sei messo in mente...
WordPress lo fa ma le performances non sono il massimo se non implementi un qualche plugin per la cache...

In bocca al lupo

ps: modifico il titolo della discussione

Grazie Bauce!
Volevo optare per la prima opzione.
Il blog è in fase di avviamento e prima di arrivare a dei quantitativi di post come hai detto tu penso che il sito sarà giunto almeno alla sua versione 3.0 per cui avrò in saccoccia nozioni sufficienti a fare scelte diverse e diversamente migliori.

Al momento volevo optare proprio per l'unicità del titolo nella tabella del database. Ho già la funzione che mi fa questo lavoro qui egregiamente: titolo del post --> titolo-del-post (che andrei a salvare nel db).

Solo che non riesco a fare bene i settaggi quando creo il campo nel database.
Ho un campo ID che è chiave primaria auto-incr. Il campo, chiamiamolo URL, come lo setto perché sia equivalente all'ID ma non vadano diciamo in conflitto?

Al momento la tabella ha solo 5-6 entry quindi ho anche la possibilità di resettare tutto.
Il sito si appoggia sul mio CMS, niente WordPress :)


Grazie ancora Boss,
dai che forse la mia agonia è in dirittura d'arrivo :)
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Al momento il codice che mi gestisce il tutto è questo...

PHP:
// la variabile titolo è pura nel database mentre qui ha i trattini messi dall'apposita funzione
<a href="blog.php?id_post=$id&titolo=$titolo">

// dopodichè
$sql = "SELECT * FROM blog WHERE id_post='" .$_GET['id_post']. "'";
// etc...


Se nella select metto titolo al posto di id_post non funziona.
L'ID deve per forza esserci perché la baracca funzioni. Al momento.

Come mi devo muovere adesso?
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Giusto per non lasciare le cose in sospeso.
Ho risolto. Potete anche spazzolare via il topic, tanto è stato un monologo di due pagine.

Bella a tutti
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Utilizzare path_info per riscrivere gli url PHP 2
L [PHP] Riscrivere url PHP 0
R Riscrivere URL - file .htaccess e modrewrite Linux e Software 0
Marco_88 Riscrivere url || rewrite_rules Apache 6
L Riscrivere url pagina dinamica Apache 1
B riscrivere le url Classic ASP 10
G riscrivere testo photoshop Photoshop 1
A riscrivere titolo in php PHP 8
D htaccess - Come riscrivere un URLs ma senza intaccare i path dei css, immagini e js? Apache 0
D htaccess: come riscrivere un link o non visualizzare il nome del file php della pagina su cui siamo? Apache 3
Shyson Rimuovere tag dall'url WordPress 6
L redirect url PHP 0
A Funzione read URL PHP 6
P Rimozione automatica url da sitemap.xml con PHP PHP 1
L upload image tramite url e cache PHP 10
Alex_70 Stringa che diventa un url PHP 6
MarcoGrazia [PHP] [regex] Validare un url PHP 2
E Creazione URL per chat whatsapp WordPress 1
psicomia Server e url per invio di file Server Dedicati e VPS 3
J estrarre url dei file video da youtube "get_video_info" PHP 6
M URL JSON Sviluppo app per Android 1
L [PHP] cambiare gli if in un url semplice PHP 1
I [PHP] generazione url "uguale" che punta a due immagini diverse PHP 0
L [WordPress] Ridefinire l'url WordPress 2
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
Domenico_Falco1 Cambiare url in un sito con pagine dinamiche Ajax 4
D [Apache] Riscrittura dell'url Apache 0
L [PHP] convertire gli url ad forma semplice PHP 3
felino [Htaccess] Redirect per url non esistente Apache 1
C [WordPress] Url vulnerability e problemi sito da mobile WordPress 0
S [WordPress] Recuperare l'url immagini in evidenza WordPress 0
A [PHP] Inserimento url dinamici in pagina html PHP 3
E assegnare a una variabile il contenuto di un url (javascript) Javascript 0
felino Difficolta' ad indicizzare i nuovi URL SEO e Posizionamento 10
I [HTML] redirect url HTML e CSS 12
otto9due Chiamata ajax su due url è possibile? Ajax 0
I Url rewrite con .htaccess funziona ma poi mostra indirizzo "reale" nella barra di navigazione Apache 1
P Reindirizzamento errori url Web Server 0
M Gestire ErrorDocument 404 mantenendo lo stesso url Web Server 0
P Problema url interne sito SEO e Posizionamento 3
A [Javascript] acquisire url pagina precedente Javascript 2
I [PHP] Login Facebook SDK returned an error: No URL set! PHP 0
D Aggiungere slash finale ad URL con .htaccess Web Server 2
G [PHP] togliere sotto directory dall'url PHP 0
bubino8 [WordPress] Trasferimento Sito con cambio Dominio(url) WordPress 6
G [PHP] [HTML] Sito web URL e altro PHP 3
G Siti web URL e altro (PHP, HTML) Presentati al Forum 1
K [PHP] Invio dati tramite url PHP 2
C [PHP] Url Rewrite titolo pagina in url PHP 3

Discussioni simili