Come aggiungere il prefisso /blog/ alla struttura dei permalink per post del blog, pagine dei tag, ecc.?

5 giu 2011, 03:48:53
Visualizzazioni: 72.5K
Voti: 25

Sto usando WordPress 3.1.3 come CMS completo, installato nella directory root di un dominio. L'ho configurato utilizzando le opzioni integrate per avere una pagina statica come homepage e il mio blog all'indirizzo http://www.example.com/blog.

Vorrei che i miei singoli post del blog, le pagine delle categorie, le pagine di archivio, le pagine dei tag e qualsiasi altra pagina relativa al blog abbiano il "prefisso" /blog/ nella loro struttura dei link. Quindi l'URL di un post sarebbe www.example.com/blog/titolo-post


Al momento, solo le pagine delle categorie funzionano correttamente. Questo è stato ottenuto aggiungendo la seguente riga al file .htaccess:

RewriteRule ^category/(.+)$ http://www.example.com/$1 [R=301,L]

Poi, ho impostato il Base Categoria su "blog" nella pagina Impostazioni Permalink di WordPress. Questo dà alle pagine delle categorie l'URL: www.example.com/blog/nome-categoria (senza rimuovere il prefisso categoria in .htaccess, avevano l'URL category/blog/nome-categoria).


Nel tentativo di far funzionare questo anche per gli altri elementi, ho impostato il mio Base Tag su "blog". Ho anche impostato la mia Struttura Permalink Personalizzata: /blog/%postname% (come suggerito da alcuni thread che ho trovato cercando su Google).

Queste impostazioni danno agli URL dei singoli post del blog, delle pagine dei tag e delle pagine di archivio la struttura URL che sto cercando. Tuttavia, questo fa sì che portino tutti a errori 404.

Ho eliminato il mio file .htaccess per assicurarmi che WordPress ci scrivesse, e lo fa. Se rimuovo /blog/ dalla struttura dei permalink, tutto funziona correttamente, ma non ho più la struttura URL che sto cercando.

Non so più cosa fare. Continuo a leggere thread e guide che dicono che è semplice come aggiungere /blog/ alla struttura dei permalink, ma finora non è stato affatto così semplice.

Contenuto di .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
1
Commenti

Come nota a margine, il permalink mostrato durante la modifica di un articolo è "errato". Non mostrerà il link finale.

Alexis Wilke Alexis Wilke
30 ott 2017 00:09:33
Tutte le risposte alla domanda 2
5
33

Ricevi errori 404 quando aggiungi /blog/ alla struttura dei permalink personalizzati e poi aggiungi anche /blog/ alla base delle categorie. Dovrebbe essere aggiunto solo a uno, la struttura dei permalink personalizzati.

Se lasci vuota la base delle categorie e dei tag e aggiungi semplicemente /blog/ all'inizio della struttura dei permalink personalizzati per ottenere questo formato /blog/%postname% - otterrai il risultato desiderato.

Le tue pagine avranno questo formato: dominio.esempio/nomepagina/ L'URL dei post avrà questo formato: dominio.esempio/blog/nomepost L'URL delle categorie avrà questo formato: dominio.esempio/blog/categoria/nomepost

27 giu 2011 19:26:59
Commenti

Ottimo lavoro per averlo aggiunto solo a una sezione. Questa soluzione aggiungerà anche /blog/ alle pagine di categoria e archivio, il che è positivo. Dovrebbe davvero essere la risposta accettata.

Ian Ian
6 giu 2014 23:44:35

Sono contento che questo metodo si applichi anche agli URL per la pagina delle categorie.

Edwin Yip Edwin Yip
4 nov 2014 07:11:06

Questa dovrebbe essere la risposta accettata a questa domanda.

AndyWarren AndyWarren
17 ott 2017 16:17:52

attaccherà il prefisso a TUTTI i tuoi tipi di post personalizzati

nodws nodws
4 mag 2018 00:22:17

Una domanda comune qui potrebbe essere: come gestisci questo solo per i tipi di post "post" e come traduci /blog ad esempio per lingue diverse? :)

trainoasis trainoasis
23 lug 2018 15:05:27
21

Vai su Impostazioni>Permalink e aggiungilo alle strutture dei permalink

5 giu 2011 07:35:48
Commenti

Questa è stata una delle prime cose che ho provato, e risultava in errori 404. Quindi l'avevo disabilitata per qualche ora, e ho deciso di riprovarla dopo aver letto la tua risposta. Ora funziona per le pagine dei singoli post. Ho anche fatto funzionare di nuovo le pagine delle categorie. Restano solo le pagine dei tag e quelle di archivio che necessitano del /blog/ nell'URL.

Preston Preston
5 giu 2011 07:54:18

Se guardi la pagina c'è anche uno spazio per i tag. Per quanto riguarda le pagine di archivio, ti riferisci alla pagina che mostra l'elenco degli articoli, tag, categorie, ecc. o ai post archiviati?

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 07:57:45

Per i tag, se aggiungo blog nel campo Tag Base ottengo la struttura dell'URL corretta "miodominio.com/blog/nome-tag" ma poi quella pagina mi dà un errore 404. Per gli archivi, intendo la pagina che mostra i post archiviati per un determinato mese. Vorrei che l'URL fosse miodominio.com/blog/2011/05. Questa struttura dell'URL appare quando clicco su un link di archivio, ma dà anche un errore 404. E ora sto ricevendo di nuovo errori 404 per i singoli post del blog. Potrebbe essere un plugin a causare questi problemi?

Preston Preston
5 giu 2011 07:58:52

Il tuo file .htaccess è configurato correttamente?

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:00:20

Credo di sì, Wordpress aggiunge le regole di riscrittura ogni volta che le modifico. Dovrebbe esserci qualcosa di specifico per un caso come questo?

Preston Preston
5 giu 2011 08:01:31

Per prima cosa verifica che il tuo file .htaccess esista, altrimenti dovrai prendere il suo contenuto e crearlo manualmente.

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:04:28

Esiste, e ho rimosso le altre cose che avevo aggiunto in modo che ci sia solo quanto segue (con gli a capo corretti), e continuo a ricevere errori 404 su tutto tranne che sulle pagine delle categorie.

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

Apprezzo anche che tu ti stia prendendo del tempo per aiutarmi.

Preston Preston
5 giu 2011 08:08:34

La prossima volta pubblica semplicemente il codice nella tua domanda sopra, con i tag del codice. Modificherò il tuo post inserendolo, ma non sarà visibile finché un moderatore non lo avrà rivisto. Prova a rimuovere la riga RewriteBase / a volte il server non ne ha bisogno o restituirà un errore.

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:14:40

Certo, scusate.

Ho rimosso la riga, ma continuo a ricevere errori 404 come prima.

Preston Preston
5 giu 2011 08:20:15

hai un link che posso provare? se non ce l'hai va bene lo stesso. Voglio solo vedere se riguarda solo il tuo o se colpisce tutti. Inoltre, hai letto la pagina del codex su questo http://codex.wordpress.org/Using_Permalinks soprattutto verso la fine.

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:24:23

Certo, ho lavorato sull'area del blog qui link. Poi un post qui link. Darò un'altra occhiata alla pagina dei permalink.

Preston Preston
5 giu 2011 08:32:00

questo è qualcosa che ho ricevuto da un altro membro @toscho, ha detto di provare ad aggiungere questa riga ^blog/category/(.+)$ invece della precedente

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:36:11

ignora l'ultimo commento. A meno che non funzioni meglio per te. Purtroppo sono un po' bloccato su questo. Hai verificato che il tuo server funzioni con questo.

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:40:30

Penso di aver risolto quasi tutto. Ho rimosso "blog" dalla Base delle Categorie, e per qualche motivo ora tutto funziona tranne le pagine delle categorie. Ora ho questa riga nel mio .htaccess RewriteRule ^blog/category/(.+)$ http://www.dvorakdesigns.com/$1 [R=301,L] ma le pagine delle categorie vengono visualizzate come dvorakdesigns.com/category/nome-categoria. Era questa l'implementazione corretta di ciò che toscho ti ha dato?

Preston Preston
5 giu 2011 08:46:45

E vuoi /blog/category/nome-categoria o /blog/nome-categoria

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 08:51:39

Se blog/categoria/nome-categoria è possibile, sarebbe l'ideale. Altrimenti, blog/nome-categoria va bene.

Preston Preston
5 giu 2011 08:54:34

Dovrò pensarci su. Nel frattempo prova a cercare su Google riguardo questo argomento

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 09:04:05

Penso di aver risolto. Era semplice quanto aggiungere blog/category come Base delle Categorie, e poi blog/tag come Base dei Tag. Con questo nel file .htaccess: RewriteRule ^category/(.+)$ http://www.dvorakdesigns.com/$1 [R=301,L] (questo evita che l'URL diventi category/blog/category). Speriamo che tutto continui a funzionare! Grazie mille per tutto l'aiuto.

Preston Preston
5 giu 2011 09:30:16

Sembra buono. Nessun problema

xLRDxREVENGEx xLRDxREVENGEx
5 giu 2011 19:11:47

Questa soluzione non funziona per me. Ho una tassonomia che si sposta da /mytaxonomy a /blog/mytaxonomy quando faccio questo, il che non è quello che voglio. Ho bisogno di /blog per gli articoli e /mytaxonomy per gli elementi della tassonomia.

Pieter Pieter
28 apr 2013 14:26:47

Questo è FALSO, attaccherà il prefisso a TUTTI i tuoi custom post type

nodws nodws
4 mag 2018 00:21:19
Mostra i restanti 16 commenti