Page 1 sur 1

Re: Plusieurs dossiers d'exécution ?

Posté : 23 janv. 2008, 14:21
par Shrell
Bien le bonjour!
J'ouvre un autre sujet, l'ancien étant résolu.
Situation :

mon site se trouve normalement sur /var/www/vhosts/monsite.com
Quand je tape une URL, apache va chercher d'abord dans ce dossier si le fichier y existe, puis dans /var/www/vhosts/appliRacine dans le cas contraire

Pour arriver à cela, j'ai un alias /_im/ dans monsite.com qui pointe vers appliRacine et un .htacces qui contient

Code : Tout sélectionner

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ /_im/$1 [L]
Pour le moment tout va bien, je tape http://www.monsite.com/index.php, le fichier index.php n'existant pas, il va le chercher dans le second dossier et me l'affiche. Parfait :)

Le problème : si je tape http://www.monsite.com/ sans rien de plus, apache m'affiche la page par défaut définie dans le welcome.conf (qui correspond en fait à une erreur 403 personnalisée)

La solution temporaire que j'ai trouvée : mettre un index.html à la racine du site qui pointe vers le index.php explicitement. Ca marche mais ca ne me plait que moyennement

Avez vous une autre idée?

Re: Plusieurs dossiers d'exécution ?

Posté : 23 janv. 2008, 14:59
par Nagol
La solution temporaire que j'ai trouvée : mettre un index.html à la racine du site qui pointe vers le index.php explicitement. Ca marche mais ca ne me plait que moyennement

Avez vous une autre idée?
Ce index.php est ou exactement parceque je ne suis pas sur de comprendre. Si le index.php se trouve au même niveau que le index.html alors y'a un petit soucis dans ta config apache car il devrait être utilisé. Si il s'agit d'un script se trouvant ailleurs alors un petit rewrite encore une fois devrait gérer tout ça.

url rewriting c bien :)

Posté : 23 janv. 2008, 15:04
par mojorisin
Salut,
comme Nagol je ne suis pas sur de bien comprendre le problème.

le serveur ne trouve pas de index.html à la racine et redirige vers ta page d'erreur au lieu de soliciter le fichier index.php c'est bien cela?

Si c'est le cas il faut regarder la directive DirectoryIndex de apache qui permet de spécifier les fichiers à afficher comme page d'index.

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

Posté : 23 janv. 2008, 15:37
par Shrell
Hola!
Mon DirectoryIndex est bien défini à index.html index.php
seulement mon index.php n'existe pas dans /var/www/vhosts/monsite.com, je veux justement qu'il aille le chercher dans /var/www/vhosts/appliRacine (comme il le fait pour tous les autres fichiers actuellement)
Le seul problème est que quand je tape http://www.monsite.com/ TOUT SEUL, avant de lire mes url rewriting, il se rend compte qu'il n'y a pas de fichier d'index (ni html ni php) et m'affiche la page par défaut d'apache (celle définie dans le welcome.conf)
Or celle là je ne sais pas la désactiver...

Posté : 24 janv. 2008, 14:43
par mojorisin
Salut,
avec apache2 le serveur défini une directive RedirectMatch par défaut (RedirectMatch ^/$ /apache2-default/).
Il te suffit de commenter cette directive puis recharger la configuration.
Cette directive se trouve dans /etc/apache2/sites-enabled/000-default (sur Debian)

une fois commenté un petit /etc/init.d/apache2 force-reload pour recharger la configuration.