IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Redirection .htaccess vers répertoire public [ZF 1.11]


Sujet :

Zend Framework PHP

  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut Redirection .htaccess vers répertoire public
    Bonjour, je viens de récupérer les fichiers de mon site sur mon serveur web (serveur mutualisé OVH) afin de rajouter quelques fonctionnalités et je m'aperçois que mon serveur local est mal configuré, je vois l'architecture de mon site lorsque j'accède à la racine de l'application.

    J'ai pensé à ajouter quelque part un fichier .htaccess dans le répertoire principal mais ce n'est vraiment pas ma spécialité, que puis-je faire?
    Au cas où, j'utilise la version 1.11 de zend.

    Mon fichier index.php se situe dans mon répertoire public.

    Voilà à quoi ressemble actuellement le fichier .htaccess de mon répertoire principal :
    RewriteEngine On  
    RewriteBase /~absot/mon-site 
    RewriteCond %{REQUEST_FILENAME} -s [OR]  
    RewriteCond %{REQUEST_FILENAME} -l [OR]  
    RewriteCond %{REQUEST_FILENAME} -d  
    RewriteRule ^.*$ - [NC,L]  
    RewriteRule ^.*$ public/index.php [NC,L] 
    
    Que manque-t-il?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  2. #2
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Bonjour,

    Tu trouveras sur mon blog des informations pour mettre en place "proprement" ton site ZF sur un mutualisé OVH.

    Sinon tu as des informations en anglais sur le site d'Akrabat pour la version "sale", à utiliser de préférence en développement : Zend Framework on a shared host.

  3. #3
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Mon site est déjà installé sur le serveur OVH, ce que je veux faire, est le remettre en local sur mon ordinateur afin de lui apporter des modifications et du coup, la configuration n'est pas la même.
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  4. #4
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Je n'avais donc pas bien compris la question, désolé...

    Du coup, tu es sous quel OS ? Quel serveur web ?

    Logiquement, tu as juste à télécharger le site dans ton document root, puis modifier la ligne RewriteBase de sorte (probablement /) ou carrement la supprimer (commentaire avec #).

  5. #5
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Je suis sous ubuntu avec LAMP donc Apache.

    J'ai téléchargé mon site et j'y ai ajouté un fichier .htaccess dans le répertoire racine de mon site (que j'ai montré plus haut) et c'est tout.
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  6. #6
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Sous ubuntu il faut entrer les commandes suivantes :

    Active le mode URL rewriting sur Apache.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo service apache2 reload
    Recharge la configuration du serveur

    Il faut aussi chercher dans les fichiers de configuration d'apache une ligne AllowOverride None pour le répertoire correspondant à ton document root, et changer none par all. Cette procédure est probablement expliquée dans le tutoriel complet d'akrabat (débuter avec zf1).

    Sans cette dernière étape, le .htaccess n'est pas pris en compte

  7. #7
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Je viens de rajouter comme tu l'as dis, une directive dans le fichier de configuration d'apache :
    <Directory /var/www/absot>
      AllowOverride all
    </Directory>
    
    J'ai ensuite redémarré mon serveur web mais j'obtiens toujours la configuration de mon application malgré le fichier .htaccess.

    Je suis sûr qu'il est lu puisque j'ai d'autres projets zend avec un fichier .htaccess où cette fois-ci, le fichier index.php se situe à la racine de l'application.

    Voilà la tête de mon fichier .htaccess :
    SetEnv APPLICATION_ENV development
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /public/index.php [NC,L]
    Allow From All
    Que manque-t-il?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  8. #8
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    A vérifier si il n'y a pas conflit avec la redéfinition d'un AllowOverride None dans /etc/apache2/sites-available/default qui est l'endroit où le vhost par défaut est défini.

    Sinon, ajoute un index.php dans ton root directory, dans lequel tu affiches la valeur de APPLICATION_ENV, juste pour vérifier la prise en charge du htaccess.

  9. #9
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Pour tester, j'ai mis tous les AllowOverride à All dans le fichier default et rien n'a changé.

    De même qu'en créant un fichier index.php et en essayant d'afficher la valeur de APPLICATION_ENV, j'obtiens juste "APPLICATION_ENV".

    Du coup, mon fichier .htaccess n'est pas interprété, étrange..
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  10. #10
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Si le htaccess n'est pas interpreté pour une simple variable d'environnement c'est que tu as un problème au niveau de la configuration d'Apache.

    On est donc sur Ubuntu, avec LAMP installé depuis les dépots officiels (?), et un seul virtual host actif : celui par défaut (?).

    J'attends des corrections sur l'affirmation ci-dessus

    Le vhost est configuré sur *:80 et a pour document root la racine de ton application. Ce dossier, déclaré en AllowOverride All dans le virtualhost, contient un .htaccess qui redirige sur public/index.php.

    Normalement si tout cela est réuni, ça devrait fonctionner...

  11. #11
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Je viens de regarder le vhost et il ne pointait pas sur la racine de mon application, j'ai remédié à ça et ca fonctionne, c'est résolu, merci.
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  12. #12
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Je rouvre ce topic puisque je viens de réinstaller mon ubuntu avec LAMP.

    J'ai réessayé d'installer mon site mais malheureusement, je n'ai pas montré ma configuration qui fonctionnait pour l'ancienne installation et en refaisait ce qui est dit au dessus, ça ne fonctionne pas..

    Donc à l'heure actuelle, j'ai LAMP installé, j'ai un fichier .htaccess dans le répertoire de mon site qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SetEnv APPLICATION_ENV development
     
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /public/index.php [NC,L]
    Allow From All
    Une directive dans mon vhost comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <Directory /var/www/mon-site>
      AllowOverride all
    </Directory>
    Le répertoire "mon-site" est un lien symbolique pointant vers mon répertoire "public_html" ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /home/absot/public_html/mon-site
    Le mode rewrite est bien activé et quand j'essaie d'afficher ma variable APPLICATION dans un fichier index.php dans mon répertoire racine, rien ne se passe..

    Quand j'essaie d'accéder à l'url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://127.0.0.1/mon-site/
    J'obtiens la structure de mon projet.

    J'ai bien pensé à redémarré mon serveur apache, j'en conclu donc que j'ai une mauvaise configuration d'Apache mais je ne sais pas où..

    Où est-ce que je peux regarder?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  13. #13
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    J'ai re-résolu mon problème.

    Voici ce que j'ai fais :
    1. /etc/hosts
    127.0.0.1	website
    2. /etc/apache2/sites-enabled/000000-myhost
    <VirtualHost *:80>
    
    	DocumentRoot "/var/www/mywebsite/public"
    
    	ServerName website
    
    	#This should be omitted in the production environment
    	SetEnv APPLICATION_ENV development
    
    	<Directory "/var/www/mywebsite/public">
    		Options Indexes MultiViews FollowSymLinks
    		AllowOverride All
    		Order allow,deny
    		Allow from all
    	</Directory>
    
    </VirtualHost>
    3. /var/www/aurelien-laval/.htaccess
    SetEnv APPLICATION_ENV development
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /public/index.php [NC,L]
    Allow From All
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection .htaccess vers script php
    Par yassoux dans le forum Apache
    Réponses: 2
    Dernier message: 22/04/2013, 14h27
  2. .htaccess / redirection ip vers exterieur
    Par juliette-idf dans le forum Apache
    Réponses: 4
    Dernier message: 16/09/2010, 07h00
  3. Réponses: 5
    Dernier message: 10/06/2010, 15h43
  4. redirection .htaccess vers un autre site web
    Par piratack007 dans le forum Apache
    Réponses: 1
    Dernier message: 04/09/2009, 22h19
  5. Réponses: 4
    Dernier message: 26/04/2007, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo