Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1001 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  [Apache] Directory chemin absolu -> 404

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache] Directory chemin absolu -> 404

n°99245
Pascal le ​nain
Posté le 28-07-2012 à 10:05:13  profilanswer
 

Bonjour,
 
(nb : J'ignore si je suis dans la bonne categorie, mais c'est ce que j'ai trouve de plus pertinent.)
 
Je souhaite mettre en place une architecture Zend Framework.
 
J'ai donc mis en place un alias dans mon fichier /etc/apache2/site-available/default :
 

Code :
  1. ServerName localhost/
  2. ServerAlias localhost/
  3. DocumentRoot /var/www/
  4. Alias /private/ "/home/oodelally/www/private/"
  5. <Directory "/home/oodelally/www/private">
  6.  Options FollowSymLinks MultiViews
  7.  AllowOverride All
  8.  Order deny,allow
  9.  Deny from all
  10.  Allow from 127.0.0.1 #local
  11. </Directory>


Je peux acceder a la page http://localhost/private/alcraft/public/, puisque apache va directement chercher le fichier index.php qui s'y trouve.
Le probleme se pose quand je change de page. Zend utilisant un frontController, tous les urls sont rediriges vers ce meme index, grace au .htaccess :
 
 

Code :
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} -s [OR]
  3. RewriteCond %{REQUEST_FILENAME} -l [OR]
  4. RewriteCond %{REQUEST_FILENAME} -d
  5.  RewriteRule ^.*$ - [NC,L]
  6.  RewriteRule ^.*$ index.php [NC,L]


Ainsi, en cherchant la page http://localhost/private/alcraft/public/map/, je tombe sur :

Citation :

Not Found
The requested URL /home/oodelally/www/private/alcraft/public/index.php was not found on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80


La redirection vers le fichier index.php est donc bien effectuee via le .htaccess.
Or le fichier /home/oodelally/www/private/alcraft/public/index.php existe bel et bien !
 
Je suis donc alle voir le log apache error.log :
 

Citation :

[Fri Jul 27 18:45:07 2012] [error] [client 127.0.0.1] File does not exist: /var/www/home, referer: http://localhost/private/alcraft/public/


Il semblerait donc qu'Apache prend le DocumentRoot /var/www/ defini dans sa conf, et concatene le chemin "/home/oodelally/www/private" defini dans <Directory "/home/oodelally/www/private">.
Une preuve potentielle est que quand je change le DocumentRoot en /, la page me renvoie une exception Zend, qui prouve que index.php a bien ete trouve (Le fait que ce soit une exception n'a pas d'importance, cela montre juste que les fichiers de Zend ont ete atteints).
 
Tout me porte donc a croire que le chemin donne dans Directory est un chemin relatif, ce qui va a l'encontre de tout ce que j'ai pu trouver sur les tutos et forums....
 
Manque-t-il une option a ma conf quelque part ? Ou est-ce que je me trompe quelque part ?
 
N'hesitez pas a me demander tout renseignement qui vous sera utile, je repondrai dans la minute :p
 
Merci d'avance ;)


Message édité par Pascal le nain le 28-07-2012 à 10:07:22
mood
Publicité
Posté le 28-07-2012 à 10:05:13  profilanswer
 

n°99271
pkc
Posté le 30-07-2012 à 14:29:44  profilanswer
 

ne manquerait-il pas un "/" à la fin de ton répertoire ?

n°99274
Je@nb
Modérateur
Kindly give dime
Posté le 30-07-2012 à 17:24:19  profilanswer
 

Lis http://httpd.apache.org/docs/2.2/f [...] cumentroot

 

Et tu verras que déjà le / final doit pas y être tout comme ton servername/serveralias ça n'a aucun sens.

 

Perso j'en met pas à Alias non plus


Message édité par Je@nb le 30-07-2012 à 17:24:33
n°99356
Pascal le ​nain
Posté le 01-08-2012 à 23:44:14  profilanswer
 

Bonjour,
 
Voici ma nouvelle config :
 
 

<VirtualHost *:80>
     ServerAdmin webmaster@localhost
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 
    RewriteLog /var/log/apache2/rewrite.log
    RewriteLogLevel 0
 
    DocumentRoot /var/www
 
 
    # Classic
     <Directory "/">
         Options FollowSymLinks MultiViews
         AllowOverride All
        Allow from all
     </Directory>
 
 
    # Perso
    Alias /public/ "/home/oodelally/www/public/"
    <Directory "/home/oodelally/www/public">
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
 
</VirtualHost>
 


 
Apres plusieurs experimentations, je ne peux qu'en conclure que le chemin indiqué dans Directory est un chemin relatif a DocumentRoot, contrairement a ce qu'indique la doc (DocumentRoot).
 
Qu'en pensez-vous ?


Message édité par Pascal le nain le 01-08-2012 à 23:45:47
n°99567
Pascal le ​nain
Posté le 07-08-2012 à 13:13:44  profilanswer
 

Petit up :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  [Apache] Directory chemin absolu -> 404

 

Sujets relatifs
Kerberos Apache, SSH ou Squid impossible - Serveurs LinuxServeur Active Directory [Résolu]
probleme de partage sur active directorySVP...affectation de ss-reseaux à un seul domaine Activ directory
Nom NetBios et Active Directory DifferentVisualiser fichier Active Directory sous Android
Problèmes de CA server dans active directoryProblème d'installation Active Directory
Nettoyage Active Directory, comment faire ? 
Plus de sujets relatifs à : [Apache] Directory chemin absolu -> 404


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR