Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/03/2014, à 20:43

ghiomega

[Résolu] Apache2 URL Rewriting CakePHP

Bonjour à tous,

Après avoir essayer de suivre de nombreux tutoriels et de résoudre mon problème grâce aux autres utilisateurs qui ont eu le même, je n'y arrive pas.

J'ai installé apache (et php, mysql) et j'ai configuré mes répertoires à l'aide du tutoriel suivant : http://doc.ubuntu-fr.org/tutoriel/lamp_ … de_travail (j'ai donc la même arborescence et tout à l'air de fonctionner normalement).

Là où tout se corse c'est lorsque j'essaie d'utiliser CakePhp !
J'ai téléchargé et décompressé l'archive de la version 2.4.5 dans le dossier /media/www-dev/public/cake_install
Le site est bien accessible à l'adresse http://localhost/public/cake_install mais j'ai toujours le message d'erreur :

URL rewriting is not properly configured on your server. 1) Help me configure it 2) I don't / can't use URL rewriting

J'ai suivi les recommandations du book cakePHP : http://book.cakephp.org/2.0/fr/installa … iting.html mais rien n'y fait !

De plus le CSS ne semble pas fonctionner, la page est totalement basique, il n'y a pas les cadres de couleur, etc ...

Si quelqu'un peut m'aider ça serait très sympa.

Merci

Dernière modification par ghiomega (Le 05/03/2014, à 17:43)

Hors ligne

#2 Le 04/03/2014, à 10:23

bruno

Re : [Résolu] Apache2 URL Rewriting CakePHP

Bonjour,

Il faut commencer par s'assurer que le module de réécriture d'Apache est bien activé.

sudo a2enmod rewrite

En ligne

#3 Le 05/03/2014, à 01:21

ghiomega

Re : [Résolu] Apache2 URL Rewriting CakePHP

Bonsoir,
C'est bien le cas :

sudo a2enmod rewrite
Module rewrite already enabled

Hors ligne

#4 Le 05/03/2014, à 09:47

bruno

Re : [Résolu] Apache2 URL Rewriting CakePHP

Dans ce cas il faut vérifier qu ta configuration permet bien l'utilisation de fichier .htaccess (AllowOverride All pour le dossier AllowOverride All) et que le serveur Apache (utilisateur www-data) a bien le droit d'écrire dans le dossier /media/www-dev/public/cake_install

En ligne

#5 Le 05/03/2014, à 11:47

ghiomega

Re : [Résolu] Apache2 URL Rewriting CakePHP

Peut être une question bête (et j'en suis désolé mais je suis un peu perdu avec tous ces fichiers de configuration) :
Lorsque tu parle de ma configuration, c'est le fichier /etc/apache2/apache.conf ou le 000-default.conf de sites-available ? (ou un autre ?)

Sinon voilà les droits du dossier cake_install donc apparemment c'est bon :

drwxr-xr-x 6 www-data  www-data     4096 mars   3 23:46 cake_install/

Hors ligne

#6 Le 05/03/2014, à 12:01

bruno

Re : [Résolu] Apache2 URL Rewriting CakePHP

La configuration se fait dans l'hôte virtuel que tu utilises : 000-default.conf si tu n'en a pas d'autres.

En ligne

#7 Le 05/03/2014, à 12:30

ghiomega

Re : [Résolu] Apache2 URL Rewriting CakePHP

Ok donc mon AllowOverride est à None pour le /var/www/

DocumentRoot /var/www
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        <RequireAny>
            Require ip 127.0.0.1
            Require ip 192.168.1
        </RequireAny>
    </Directory>
   
    ## ZONE PUBLIQUE
    Alias /public /media/www-dev/public
    <Directory /media/www-dev/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ## ZONE PRIVEE
    Alias /private /media/www-dev/private
    <Directory /media/www-dev/private>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        <RequireAny>
            Require ip 127.0.0.1
            Require ip 192.168.1
            Require host .w3.org
            Require host sandbox.paypal.com
        </RequireAny>
    </Directory>

Je le passe à All ... et j'ai une erreur 404 ... (j'ai bien sur relancé apache2) :

ghiomega a écrit :

Le site est bien accessible à l'adresse http://localhost/public/cake_install

ce n'est plus le cas :s

Dernière modification par ghiomega (Le 05/03/2014, à 12:40)

Hors ligne

#8 Le 05/03/2014, à 17:43

ghiomega

Re : [Résolu] Apache2 URL Rewriting CakePHP

Bon après pas mal de bidouillage, j'ai réussi à résoudre le problème.
J'ai édité mes .htaccess en ajoutant "RewriteBase" je l'avais déjà fait mais rien ne marchait, surement à cause du AllowOverride (et du chemin)
En fait je me suis aussi rendu compte que je n'avais pas le bon chemin, je mettais le chemin à partir de la racine de mon système au lieu de mettre à partir du DocumentRoot ...
Enfin bref problème résolu ! Merci pour ton aide bruno

Hors ligne

#9 Le 28/03/2015, à 19:08

maiwalw

Re : [Résolu] Apache2 URL Rewriting CakePHP

Bonjour à tous,

ghiomega, apparemment tu as réussi à résoudre le problème mais je n'ai pas compris tes explications, peut-tu stp détailler la marche à suivre ? Merci infiniment à l'avance, je commence à devenir fou avec cette histoire d'url !! :S

Peace

Hors ligne

#10 Le 04/04/2015, à 16:30

H4mm3R

Re : [Résolu] Apache2 URL Rewriting CakePHP

maiwalw a écrit :

Bonjour à tous,

ghiomega, apparemment tu as réussi à résoudre le problème mais je n'ai pas compris tes explications, peut-tu stp détailler la marche à suivre ? Merci infiniment à l'avance, je commence à devenir fou avec cette histoire d'url !! :S

Peace

Bonjour ghiomega,

en l'occurence, dans le cas d'une configuration "mutualisée", il faut simplement spécifier le chemin dans les .htaccess.
Il faut partir du principe que tu pars de la racine du localhost
Exemple :
http://localhost/private/cakephp

Dans chaque .htaccess (cakephp version 2.6) tu auras respectivement :

.htaccess

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

app/.htaccess

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

app/webroot/.htaccess

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

En espérant que ça a pu t'aiguiller dans la réponse !

Hors ligne