Bonjour,

Je développe actuellement une solution sous CakePHP et j'ai besoin d'y ajouter un blog Wordpress.
J'ai créer un nouveau répertoire dans 'app/webroot/' appelé 'blog' avec wordpress dedans ce qui donne 'app/webroot/blog'.
Pas de problème avec Wordpress en lui même.

Mais j'obteiens une url de la forme 'http://monsite.com/app/webroot/blog/' et je voudrais 'http://monsite.com/blog/'. J'essaye donc sans résultats de modifier le .htaccess avec l'aide de Google, mais les solutions que je trouve ne fonctionnent pas. Je suis bloqué à ceci, qui ne me retourne rien que je demande 'http://monsite.com/blog/'.

<IfModule mod_rewrite.c>
   RewriteEngine on
    RedirectMatch temp ^/blog/wp-admin$ http://localhost/CakePHP//blog/
    RewriteRule ^blog$ blog/ [L]
    RewriteRule ^blog/wp-admin$ blog/wp-admin/ [L]
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Quelqu'un peut-il m'aider ? Je crois d'ailleurs que grafikart.fr est construit sur ce principe non ?

Merci d'avance !

11 réponses


GentlemanOwl
Réponse acceptée

Si tu mets ton dossier blog au même niveau que le htaccess et que tu le modifie comme ceci :

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^blog/(.*)$ blog/index.php [QSA,L]
   RewriteRule ^$ app/webroot/ [L]
   RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Je ne suis pas sur de tout ça. Je l'ai vu en cours assez rapidement donc il faudra peut être bidouiller.

GentlemanOwl
Réponse acceptée

Oui, en fait le index.php n'a pas lieu d'être.

Voici la correction :

RewriteRule ^blog/(.*)$ blog/$1 [QSA,L]

Salut,

Utilise le fichier routes.php dans /app/Config/ :

Router::connect(
        '/blog/*',
        '/app/webroot/blog/index.php'
    );

Et pour le wp admin :

Router::connect(
        '/blog/admin/*',
        '/app/webroot/blog/wp-admin/index.php'
    );

Je ne l'ai pas testé avec Wordpress mais je pense que cela devrait fonctionner.

Je viens de tester ta proposition, merci. Cake ne fait qu'une partie du travail :D !
Quand je rentre l'url 'monsite.com/blog', cakephp me redirige vers 'monsite.com/app/webroot/blog/'. Hors je voudrais conserver l'url simple '/blog'.

[EDIT]
Ah, et puis j'ai cette erreur fatale quand je souhaite accéder au reste du site (monsite.com ou monsite.com/quelquechose) :
"Fatal error: Unsupported operand types in \lib\Cake\Routing\Router.php on line 298"

Je viens de faire un test de mon coté en effet le routing bug mais par contre en installant le wordpress pour faire des tests dans le dossier webroot/blog/.
J'obtient une url de ce type : http://localhost/sayHello/blog/bonjour-tout-le-monde/ sans url rewriting.

Sans url rewriting du côté de Cakephp, et lorsue je demande monsite.com/blog, je suis redirigé vers monsote.com/app/webroot/blog/ et non monsite.com/blog.
Je ne sais pas si ça peut venir de mon .htacces qui se trouve au même niveau que dans à la racine, il contient :

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^$ app/webroot/ [L]
   RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Je n'ai aucune connaissance en htacces mais je crois comprendre qu'il demande de rediriger vers app/webroot pour toute demande, est-ce qu'il y a un moyen de simplifier l'url pour /blog ?

Merci encore pour ton aide :)

J'ai fais un test rapide de mon coté ça marche.

Ça marche en partie pour moi également.
Mais j'ai un gros soucis dans la config de wordpress.

Ça vient du htacces ?

Tout semble marcher à merveille ! Un énorme merci à toi ! :)

J'ai une question en rapport avec Cakephp et wordpress alors je me permet de poser ma question ici.
est-il possible d'utiliser l'environnement cakephp sur un site wordpress ?
Merci d'avance

Bonjour Y'a Bmz,
Je ne suis pas expert en la matière, mais vu les échanges dans les messages précédents, cela peut probablement se faire. LPlus haut il dit qu'il a créé un site avec Cakephp et a raccordé un blog Wordpress avec. Pourtant, après il dit que le Cakephp ne représente qu'une petite partie du travail. Donc, il est possible que le reste constitue des extensions Wordpress. Je ne sais pas trop, mais je dis ça comme ça. Je ne suis que débutant encore et j'essaie de faire mes propres analyses.