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 :

mod_rewrite fonctionne pour un vhost mais pas pour l'autre


Sujet :

Apache

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 270
    Points : 163
    Points
    163
    Par défaut mod_rewrite fonctionne pour un vhost mais pas pour l'autre
    Bonjour à tous,

    je viens de m'installer un nouveau serveur VPS de chez OVH, Debian 7, apache2, mysql5, classique.

    J'ai installé plusieurs vhosts de façon très classique (3 wordpress et 1 site home made) et j'ai un comportement bizarre : la réécriture d'urls fonctionne pour 1 des wordpress mais pas pour les autres.

    D'après un phpinfo(), le module est bien loadé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Loaded Modules	core mod_log_config mod_logio mod_version prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status
    Dans le htaccess de mon site maison, j'ai ceci (fonctionnait à l'identique sur mon ancien serveur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #SetEnv PHP_VER 5
    #SetEnv SESSION_USE_TRANS_SID 0
     
    #php_flag short_open_tag off
    #AddType application/x-httpd-php5 .php
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] 
    RewriteRule ^(.*)$ index2.php [NC,L]
    et pourtant c'est le index.php qui est loadé

    j'ai vérifié dans le apache2.conf, c'est bien le .htaccess qui est défini

    ma config de vhost:
    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
     
    <VirtualHost *:80>
    	ServerAdmin webmaster@localhost
    	ServerName monsite.fr
    	ServerAlias *.monsite.fr
    	DocumentRoot /var/www/monsite.fr/htdocs
     
    #        <Directory /var/www/monsite.fr/htdocs>
    #                Options Indexes FollowSymLinks MultiViews
    #                AllowOverride None
    #                Order allow,deny
    #                allow from all
    #        </Directory>
     
    	ErrorLog ${APACHE_LOG_DIR}/monsite_error.log
     
    	# Possible values include: debug, info, notice, warn, error, crit,
    	# alert, emerg.
    	LogLevel warn
     
    	CustomLog ${APACHE_LOG_DIR}/monsite_access.log combined
    </VirtualHost>
    tout ce que vous voyez en commentaires est ce que j'ai testé avec/sans..

    chose encore plus bizarre, j'ai activé dans le apache2.conf le rewritelog et j'obtiens ceci :
    xx.xx.xx.xx - - [29/Dec/2014:19:04:02 +0100] [monsite.fr/sid#7f8102137288][rid#7f8101f7eb28/initial/redir#1] (1) [perdir /var/www/monsite.fr/htdocs/] pass through /var/www/monsite.fr/htdocs/index2.php
    et pourtant, c'est bien le index.php qui est affiché..

    Voyez-vous ce qui peut expliquer cela ?

    Merci de votre aide car je suis perdu, et pourtant je n'en suis pas à mon coup d'essai..

  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
    A part dire que le contenu de index2.php n'est pas celui que tu penses être, je n'ai pas d'idée, vu que les traces de mod_rewrite indiquent bien que c'est index2.php qui est exécuté. Dans les traces de mod_rewrite, tu as autre chose après la ligne que tu donnes ? Pour tes tests, il faut t'assurer aussi que tu as bien vidé les caches.

    Tu peux quand même tester de désactiver la négociation de contenu :

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 270
    Points : 163
    Points
    163
    Par défaut
    le truc fou, c'est que j'étais passé à index2 pour mieux comprendre, et en repassant à index tout court dans le htaccess ça s'est remis à marcher.. mais impossible de tout rediriger vers index2 par ex.

    je pense qu'il y a quelque chose d'important que je manque ici mais pour l'instant on va dire que c'est résolu. Merci quand même :-)

  4. #4
    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
    Essaie avec Options -MultiViews, c'est la seule explication que j'ai.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

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

Discussions similaires

  1. Transformation qui marche pour une page mais pas pour l'autre
    Par pestakeur dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 06/11/2012, 16h34
  2. Réponses: 7
    Dernier message: 23/12/2011, 14h28
  3. idFTP : fonctionnement OK chez moi, mais pas chez les autres
    Par Goofyjp dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/10/2008, 15h35
  4. Réponses: 0
    Dernier message: 03/04/2008, 15h14
  5. Réponses: 9
    Dernier message: 13/03/2008, 01h34

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