J'utilise Wordpress 3.1.3 comme CMS complet, installé dans le répertoire racine d'un domaine. Je l'ai configuré en utilisant les options intégrées pour avoir une page statique comme page d'accueil, puis mon blog sur http://www.example.com/blog
.
Ce que je voudrais, c'est que mes articles de blog uniques, pages de catégorie, pages d'archive et pages de balises, et toutes les autres pages liées au blog aient le "préfixe" de / blog / dans leur structure de liens. Une URL de publication serait doncwww.example.com/blog/post-title
Pour l'instant, je n'ai que les pages de catégorie qui fonctionnent correctement. Cela a été accompli en ajoutant la ligne suivante à mon .htacces
fichier:
RewriteRule ^category/(.+)$ http://www.example.com/$1 [R=301,L]
Ensuite, j'ai défini la catégorie de base sur "blog" sur la page des paramètres de permaliens dans Wordpress. Cela donne aux pages de catégorie l'URL de: www.example.com/blog/category-name
(sans supprimer le préfixe de catégorie dans .htaccess
, elles avaient l'URLcategory/blog/category-name
).
Dans une tentative pour que cela fonctionne pour les autres choses pour lesquelles je veux que cela fonctionne, j'ai défini ma base de balises sur "blog". J'ai également fait ma structure de permalien personnalisé: /blog/%postname%
(comme suggéré par quelques discussions que j'ai trouvé en recherchant sur Google).
Ces paramètres donnent aux URL des articles de blog, des pages de balises et des pages d'archives la structure d'URL que je recherche. Cependant, cela entraîne tous des erreurs 404.
J'ai supprimé mon .htaccess
fichier pour m'assurer que Wordpress y écrivait, et c'est le cas. Si je supprime le /blog/
de la structure de permalien, tout fonctionne correctement, mais je n'ai plus la structure d'URL que je recherche.
Je ne sais pas trop quoi faire. Je continue de lire des discussions et des guides en disant que c'est aussi simple que d'ajouter /blog/
à la structure de permalien, mais jusqu'à présent, cela n'a pas été aussi simple.
Je serais très reconnaissant si quelqu'un savait comment faire en sorte que cela fonctionne.
.htaccess
Contenu:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>