Como adiciono / blog / como prefixo à estrutura de link permanente para postagens de blog, páginas de tags etc.?

19

Estou usando o Wordpress 3.1.3 como um CMS completo, instalado no diretório raiz de um domínio. Eu o configurei usando as opções internas para ter uma página estática como a página inicial e, em seguida, meu blog em http://www.example.com/blog.

O que eu gostaria é que minhas postagens de blog únicas, páginas de categoria, páginas de arquivamento e páginas de tags e quaisquer outras páginas relacionadas a blog tenham o "prefixo" de / blog / em sua estrutura de links. Portanto, um URL de postagem seriawww.example.com/blog/post-title


No momento, só tenho as páginas da categoria funcionando corretamente. Isso foi realizado adicionando a seguinte linha ao meu .htaccesarquivo:

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

Em seguida, defino a categoria base como "blog" na página Configurações de links permanentes no Wordpress. Isso fornece às páginas de categoria o URL de: www.example.com/blog/category-name(sem remover o prefixo da categoria .htaccess, eles tinham o URL category/blog/category-name).


Em uma tentativa de fazer isso funcionar para as outras coisas em que quero que eu trabalhe, defino minha Base de tags como "blog". Também fiz minha estrutura de link permanente personalizado: /blog/%postname%(como sugerido por alguns tópicos que encontrei pesquisando no Google).

Essas configurações fornecem os URLs das postagens de blog únicas, páginas de tags e páginas de arquivamento a estrutura de URL que eu estou procurando. No entanto, todos eles levam a erros 404.

Eu apaguei meu .htaccessarquivo para garantir que o Wordpress estivesse gravando nele, e é. Se eu remover a /blog/estrutura da ligação permanente, tudo funcionará corretamente, mas não tenho mais a estrutura de URL que estou procurando.

Estou sem saber o que devo fazer. Continuo lendo tópicos e guias dizendo que isso é tão simples quanto adicionar /blog/à estrutura do permalink, mas até agora não foi tão simples assim.

Ficaria muito grato se alguém souber como posso fazer isso funcionar.

.htaccess conteúdo:

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteBase / 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>
Preston
fonte
Como observação, o link permanente mostrado durante a edição de uma postagem está "errado". Não mostrará o link final.
Alexis Wilke

Respostas:

5

Vá para Configurações> Links permanentes e adicione-o às estruturas do link permanente

xLRDxREVENGEx
fonte
1
Essa foi uma das primeiras coisas que tentei e resultou em erros 404. Fiquei desativado por algumas horas e decidi tentar novamente depois de ler sua resposta. Agora está funcionando para minhas páginas de postagem únicas. Também consegui que as páginas de categorias funcionassem novamente. Isso deixa apenas as páginas de tags e as páginas de arquivamento que precisam do / blog / nelas.
Preston
Se você olhar para a página, também há um local para as tags. Como para as páginas de arquivos que você está falando sobre a página que mostra a lista de artigos, tags, categorias, etc. ou mensagens arquivadas
xLRDxREVENGEx
Com as tags, se eu adicionar blog à área Base de tags, ela fornecerá a estrutura de URL correta "mydomain.com/blog/tag-name", mas essa página exibirá um erro 404. Com os arquivos, quero dizer a página que mostra as postagens arquivadas para um mês específico. Gostaria que o URL fosse mydomain.com/blog/2011/05. Essa estrutura de URL aparece quando clico em um link de arquivamento, mas também gera um erro 404. E agora estou recebendo 404 erros para as postagens de blog únicas novamente. Este poderia ser um plugin que está causando problemas?
Preston
Sua configuração .htaccess está correta?
xLRDxREVENGEx
Eu acredito que sim, o Wordpress adiciona as regras de reescrita sempre que eu as altera. Deveria haver algo em particular para algo assim?
Preston
27

Você recebe erros 404 quando adiciona "/ blog /" à estrutura de link permanente personalizado e também adiciona "/ blog /" à base da categoria. Ele deve ser adicionado apenas a um, a estrutura de link permanente personalizada.

Se você deixar a base da categoria e a base de tags em branco e apenas adicionar "/ blog /" na frente da estrutura do link permanente personalizado para que fique assim "/ blog /% postname% - isso obterá o resultado desejado.

Suas páginas ficarão assim: domain.com/pagename/ O URL da sua postagem ficará assim: domain.com/blog/postname O URL da sua categoria ficará assim - domain.com/blog/category/postname

Espero que isso seja útil ...

dom
fonte
1
Boa captura ao adicionar apenas uma seção. Esta solução também adicionará / blog / às páginas de categoria e arquivo, o que é bom. Esta deve realmente ser a resposta aceita.
58560 Ian Ian
Fico feliz que este método também se aplique ao URL da página de categorias.
Edwin Yip #
1
Essa deve ser a resposta aceita para esta pergunta.
21417 AndyHarren
2
ele vai anexar o prefixo a todos os seus tipos de pós personalizado
nodws
1
Uma pergunta comum aqui provavelmente seria: como você gerencia isso apenas para tipos de postagem "post" e como traduz / blog por exemplo para idiomas diferentes? :)
trainoasis