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

Apache Discussion :

.htaccess fonctionne sauf à la racine


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 24
    Points
    24
    Par défaut .htaccess fonctionne sauf à la racine
    Bonjour!

    Je rame depuis trois semaines, j'ai lu des tutos et la doc Apache en long en large et en travers et je n'arrive toujours pas à faire fonctionner mon fichier .htaccess à la racine de mon hébergement. Donc je me résous à appeler au secours ici .

    Contexte :
    C'est sur un serveur privé virtuel chez 1&1 sous Ubuntu 10.4 sur lequel j'ai installé Apache2.
    J'ai ajouté le mod_rewrite en ligne de commande avec putty.
    J'ai modifié le fichier de conf Apache default pour qu'il ressemble à ça (j'ai juste changé le None en All pour l'attribut AllowOverride de / et de www) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <VirtualHost *:80>
       ServerAdmin webmaster@localhost
     
       DocumentRoot /var/www
       <Directory />
          Options FollowSymLinks
          AllowOverride All
       </Directory>
       <Directory /var/www/>
          Options Indexes FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
       </Directory>
     
       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 /var/log/apache2/error.log
     
       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn
     
       CustomLog /var/log/apache2/access.log combined
     
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    </VirtualHost>


    J'ai fait le test de cette page : http://www.webrankinfo.com/dossiers/...-url-rewriting et ça fonctionne.
    J'ai aussi testé d'ajouter une balise directory pour un sous-répertoire avec des paramètres propres, c'était bien pris en compte donc je pense que c'est le bon fichier de conf. J'ai ensuite supprimé la balise directory par souci de propreté.

    (Je précise que mon objectif à terme est de préparer un fichier .htaccess qui me servira pour rediriger un site qui est sur un autre hébergement, une page perso orange. Je le redirigerai vers un autre serveur mutualisé et je transférerai le nom de domaine. Actuellement je travaille sur le serveur privé virtuel pour préparer le script car je n'ai accès que ponctuellement au serveur orange (il n'est pas à moi).)

    Le problème :
    Quand je mets un fichier .htaccess dans un sous-dossier, tout ce que je mets dedans est pris en compte.
    Par contre quand je mets le fichier htaccess à la racine (directement dans www là où il y a index.html), rien n'est pris en compte. Même pas un simple RedirectPermanent.

    Questions :
    1 - Est-ce que vous voyez d'où vient le problème?
    2 - J'ai vu sur d'autres hébergements (mutualisés) que le site internet proprement dit n'était jamais directement à la racine. Peut-être que je dois tout déplacer dans un sous répertoire et ne pas mettre d'.htaccess directement dans ww? Qu'est-ce qui est le plus propre? Qu'est-ce qui marche surtout?
    3 - Est-ce que pour l'hébergement mutualisé, je peux considérer que la racine à laquelle j'ai accès avec Filezilla est l'équivalent de mon www?

    4 - Comme j'ai lu un tas de choses mais que je n'ai pas pu tester vu que ça ne marche pas à la racine, je m'emmêle les pinceaux. Je voudrais aussi gérer les redirections de l'index.html et de la version sans le www vers le www pour parer à la dilution du pagerank. Est-ce que je dois faire ça sur les deux sites (ancien et nouveau) ou bien tout renvoyer de l'ancien vers le nouveau en bloc et gérer ça sur le nouveau? Je dois tenir compte du fait que le nom de domaine va changer, au lieu de pointer sur l'ancien il va pointer sur le nouveau site et il ne faut pas d'interruption de service. L'arborescence du site restera la même, sauf si je mets tout dans un sous-dossier sur le nouveau serveur.

    Voilà ça fait pas mal de questions que j'ai cumulées au fil des jours. J'espère que des âmes compatissantes pourront m'aider!

    Etamyste

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Peut-être une piste : le chemin indiqué dans la balise <Directory> se termine par /. Ce que je ferais c'est retirer ce / :

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 24
    Points
    24
    Par défaut Youpi!
    Ca... marche!!!!!!

    J'y crois pas c'est magnifique, merci mille fois!
    Mais le fichier était comme ça par défaut lors de l'install pourtant, c'est dingue!

    Du coup je dois aussi l'enlever pour /usr/share/doc/? (Je ne sais pas à quoi ça correspond)

    Et pour le coup de mettre le site à la racine sinon qu'est-ce que vous en dites?

    Sinon j'ai découvert que je n'avais pas la possibilité de faire de php ni de .htaccess dans le site orange perso donc je suis très embêtée car le site actuel a un bon rank... Il reste la redirection 301 http, javascript et la déclaration du nom de domaine sur les webmaster tools Google, mais je ne sais pas si ça conservera bien le pagerank. Je vais créer un sujet à ce propos sinon ça va devenir le bazar dans ce thread.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    En fait le fichier .htaccess est pris en compte mais il y a un souci.

    Voilà le .htaccess à la racine du site "site-d-origine.com":


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^(.*) <a href="http://www.un-autre-site.fr/" target="_blank">http://www.un-autre-site.fr/</a> [L,R=301]

    or quand je teste sur plusieurs adresses, ça ne fonctionne que dans un cas :

    www.site-d-origine.com --> redirection ok vers http://www.un-autre-site.fr
    site-d-origine.com --> pas de redirection, la page d'accueil de site-d-origine.com s'affiche
    url tarabiscotée de l'hébergeur de www.site-d-origine.com --> erreur "La page n'est pas redirigée correctement"

    Pourtant ça devrait bien rediriger tout ce qui arrive vers http://www.un-autre-site.fr/ non?

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Pas évident comme ça. Je pense que le problème vient d'une mauvaise configuration d'hôte virtuel. Est-ce que www.site-d-origine.com et site-d-origine.com pointent sur le même document root ? C'est le même répertoire ?

    Pour la redirection incorrecte, il faut voir dans le détail les échanges entre ton PC et le site pour voir la redirection qui est faite, et donc voir ce qui gêne le navigateur.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    J'ai renoncé pour l'instant, il faut que j'avance sur d'autres points, j'ai pris un hébergement mutualisé pour faire mes tests en attendant.
    Je ne pourrai pas me repencher sur la question tout de suite donc si vous préférez vous pouvez marquer le sujet comme résolu.

Discussions similaires

  1. Requête qui fonctionne sauf
    Par vb dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/09/2010, 12h51
  2. [EasyPHP] Les fichiers .htaccess fonctionnent pas
    Par ziko-9 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/07/2009, 18h54
  3. HTACCESS fonctionne sous IE mais pas sous FF
    Par rigolman dans le forum Apache
    Réponses: 4
    Dernier message: 27/01/2009, 15h55
  4. Réponses: 1
    Dernier message: 26/01/2009, 20h55
  5. [JTree] Suppresion de tous les noeuds sauf la racine
    Par nicolaskarp dans le forum Composants
    Réponses: 3
    Dernier message: 29/04/2005, 13h53

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