Chargement d'un fichier .htaccess Apache2

Bonjour à tous,

J’essaie en vain d’activer un fichier .htaccess pour un de mes sites héberge sur Apache2.
J’ai placé le .htaccess dans le dossier racine du site “/var/www/site/.htaccess”

J’ai configurer la VHost avec la fonctionnalité “AllowOverride All” pour le répertoire “/var/www/site”.

Cependant ce fichier ne s’active pas.

J’ai effectuer quelques test, il semblerait que la configuration par défaut empêche le bon fonctionnement du .htaccess. Ma VHost “Default” est configuré avec “AllowOverride None” pour les repertoires “/” et “/var/www/”.

Lorsque la fonction “AllowOverride” est à “All” pour le repertoire “/var/www/” alors le htaccess de mon site fonctionne.

N’est-il pas possible de configurer Apache de sorte que seul un seul site puisse avoir la fonction AllowOverride All ?

Je n’ai peut-être pas été très clair voici un résumé :

Ca marche :

Fichier /etc/apache2/sites-available/default

[code]<VirtualHost *:80>
ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews

====> AllowOverride All
Order allow,deny
allow from all

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

[/code]

Fichier /etc/apache2/sites-available/site :

[code]<VirtualHost *:80>
DocumentRoot /var/www/site

    <Directory "/var/www/site/">
            Options Indexes FollowSymLinks MultiViews

====> AllowOverride All
Order allow,deny
Allow from all

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
[/code]

Ca marche pô :

Fichier /etc/apache2/sites-available/default

[code]<VirtualHost *:80>
ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews

====> AllowOverride None
Order allow,deny
allow from all

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

[/code]

Fichier /etc/apache2/sites-available/site :

[code]<VirtualHost *:80>
DocumentRoot /var/www/site

    <Directory "/var/www/site/">
            Options Indexes FollowSymLinks MultiViews

====> AllowOverride All
Order allow,deny
Allow from all

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
[/code]

Bonjour,

ça n’est pas propre d’utiliser en même temps /etc/apache2/sites-available/default et /etc/apache2/sites-available/site pour un même site.

Je vais essayer en désactivant le site Default

Eventuellement tu pourrais mettre tes sites en “parallèle” :

  • /var/www/defaut
  • /var/www/site1

    Ca me semble plus judicieux de ne pas avoir site 1 sous répertoire d’un autre site

Personnellement, je range mes sites :

  • /srv/domaine1.com/www/htdocs
  • /srv/domaine1.com/forum/htdocs
  • /srv/domaine2.com/www/htdocs
  • /srv/domaine2.com/wiki/htdocs

comme ca je range tous les domaines dans /srv, tous les sous-domaines dans le répertoire de leur domaine.
Dans un répertoire comme /srv/domaine1.com/forum, je regroupe le site (dans htdocs) et d’autres répertoires comme les includes PHP du site et autres données ou utilitaires.

Je garde /var/www comme site par défaut avec une page html pour voir ce qui se passe (accès par IP, autres noms…)