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 :

MediaWiki+AuthWP (WordPress) : Apache Rewrite vers Nginx Rewrite


Sujet :

Apache

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 15
    Points
    15
    Par défaut MediaWiki+AuthWP (WordPress) : Apache Rewrite vers Nginx Rewrite
    Salut le monde,

    Je tourne sous Nginx, je fais tourner un WordPress et un MediaWiki. Je veux que mes utilisateurs WordPress puisse se connecter sur MediaWiki avec leur compte utilisateur WordPress. Il y a un super extension pour ça qui s'appelle WPMW (AuthWP). Mais une fois activée, il s'avère que les scripts JS et les styles CSS ne sont pas chargés (on se croirait sur IE6 avec un fichu texte brut sur page blanche).

    La cause est expliquée là https://www.mediawiki.org/wiki/Manual:Load.php/fr et la solution nous est même donnée ... mais pour Apache !

    Après avoir mis à jour vers MediaWiki 1.18 ou supérieur, beaucoup d'utilisateurs ont le problème que leur wiki apparait sans styles. Les styles CSS ne sont pas appliqués; ce qu'ils voient ressemble à une version raccourcie. Tous les styles sont ceux du navigateur par défaut ; aucun des styles spéciaux ne sont appliqués.

    Solution :

    Le problème dans la plupart des cas est causé par des demandes de load.php redirigées vers le fichier PHP MediaWiki principal, qui retourne finalement une page MediaWiki. Les résultats retournés sont toutefois des styles CSS.

    To fix the issue you have to add a RewriteCond and a RewriteRule in the file .htaccess. Change your .htaccess file to make sure that calls to load.php (and to api.php btw.) are not rewritten.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule (api|load)\.php - [L]
    ...
    Après cela load.php devrait retourner les bons contenus et votre wiki devrait être stylisé.

    Autres problèmes possibles : Manuel:Erreurs et symptômes#Le wiki apparaît sans styles appliqués et les images sont manquantes
    J'ai besoin de convertir cette règle Apache en règle Nginx mais rien n'y fait ! Voici ma config actuelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    location /wiki {
        try_files $uri $uri/ /wiki/index.php?$query_string;
        rewrite ^/wiki([^?]*)(?:\?(.*))? /wiki/index.php?title=$1&$2 last;
    }
    Merci pour votre aide et bonne journée

  2. #2
    Membre habitué Avatar de silfun1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 117
    Points : 187
    Points
    187
    Par défaut
    Bonjour MolinaDiaz,

    Je ne connait pas NGinx, mais ta question restait sans réponses. Et cela me chagrinais un peu
    Ca m'a permit de voir comment sont gérées les redirections et les réécritures sur ce serveur web. On en apprend tous les jours.
    Bref, voila ce que je peux dire d'après mes recherches Webistiques:

    1 - Ta règle apache "RewriteRule (api|load)\.php - [L]" signifie qu'on ne redirige PAS les requêtes portant sur les fichiers load.php et api.php
    2 - J'ai pas trouvé "Ne renvoie pas" en langage NGinx. Du coup, il faut faire une règle qui renvoie une code 404 ou 403 pour ces 2 fichiers.
    3 - J'ai pas trouvé (ou pas compris) comment on renvoie un deny au sein d'une "location" ayant des règles déjà existantes. Du coup je propose qu'on fasse ça dans une nouvelle "location" qu'on placerai avant.

    Voila ce que je te propose:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    location ~ /wiki/(api|load).php {
            deny all;
    }
     
     
    location /wiki {
        try_files $uri $uri/ /wiki/index.php?$query_string;
        rewrite ^/wiki([^?]*)(?:\?(.*))? /wiki/index.php?title=$1&$2 last;
    }


    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
    - Ne vous privez pas pour voter pour ma réponse si elle vous plaît bien
    - Ne pas hésiter à cliquer sur "Résolu" quand votre problème posé a trouvé une solution. Et un petit merci fait toujours plaisir

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Salut silfun et merci pour ta réponse. Ta proposition ne fonctionne ni avec un deny all ni avec un return 404. Et je ne suis pas sûr de comprendre si ce qui réglera ma situation doit se trouver en dehors ou à l'intérieur de mon bloc location. Je poursuis mes recherches et te remercie pour ton aide

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Up

Discussions similaires

  1. Redirection 301 de pages non "rewrite" vers page "rewrite"
    Par lelectronique.com dans le forum Apache
    Réponses: 1
    Dernier message: 24/02/2013, 23h07
  2. rewrite vers page html distante si maintenance
    Par quelcun.max dans le forum Apache
    Réponses: 3
    Dernier message: 01/08/2008, 18h35
  3. [Apache/Tomcat] Configurer url rewriting
    Par bizet dans le forum Apache
    Réponses: 4
    Dernier message: 10/04/2008, 16h33
  4. Couplage Apache HTTP & Tomcat - Url Rewriting
    Par Invité dans le forum Apache
    Réponses: 12
    Dernier message: 30/05/2007, 17h55
  5. [apache 2.2] url rewrite
    Par SkyDev dans le forum Apache
    Réponses: 3
    Dernier message: 22/11/2006, 15h05

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