Aller au contenu
spinacle

Exclure un répertoire

Noter ce sujet :

Recommended Posts

Bonjour à tous,

J'ai un soucis sur mon blog (wordpress) car je ne parviens pas à accéder à mes statistiques Awstats, cela me ramène à chaque fois sur la page d'accueil du blog.

Si je rajoutes RewriteEngine Off en tête de mon fichier htaccess de mon répertoire awstats, cela n'a aucun effet

A la racine de mon site, j'ai le fichier htaccess suivant :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

J'ai mon répertoire Awstats qui se nomme Awstats et qui a le fichier htaccess suivant :

Options +ExecCGI
AddHandler cgi-script pl
DirectoryIndex awstats.pl

AuthUserFile /home/walt/domains/domaine.com/public_html/awstats/.htpasswd
AuthType Basic
AuthName "AwStats Protection"

<LIMIT GET POST>
require valid-user
</LIMIT>

Merci de votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci bien pour ta réponse, mais malheureusement, cela ne résoud pas mon problème.

Pour information, awstats est bien fonctionnel sur des sites "standard". En revanche, sur un autre site avec Wordpress, j'ai le même soucis.

De manière à être précis, il s'agit du plugin awstats pour DirectAdmin.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je te demandais ce que tu tapais ou ce qui apparaît dans la barre d'adresse quand tu veux visualiser les rapports AWStats, mais tu ne réponds pas ... ;)

Jean-Luc

Partager ce message


Lien à poster
Partager sur d’autres sites

Autant pour moi Jean-Luc,

oui effectivement, le statistiques sont normalement accessible via /awstats ou /awstats/awstats.pl

Habituellement, j'utilise l'url nomdedomaine/awstats

Partager ce message


Lien à poster
Partager sur d’autres sites

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

veut dire que si l'URL ne correspond pas à un fichier ou à un répertoire existant, l'URL doit être traitée par WordPress.

Je pense que tu pourrais y ajouter une exception pour AWStats (devant toute la partie WordPress):

RewriteRule ^awstats - [L]

Jean-Luc

Modifié par Jeanluc

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Jean Luc,

A priori la ligne rajoutée ne change rien. Je n'ai pas redémarrer Apache, ceci dit, normalement ce n'est pas nécessaire

Partager ce message


Lien à poster
Partager sur d’autres sites

En étudiant tes règles et en les décrivant :

RewriteCond %{REQUEST_FILENAME} !-f <-- Si le nom de la ressource demandée n'est pas un fichier existant

RewriteCond %{REQUEST_FILENAME} !-f <-- Si le nom de la ressource demandée n'est pas un dossier existant

Si ces condifitions sont vérifiée,

RewriteRule . /index.php [L] <-- Réécrire la requête vers le fichier index.php.

Donc si effectivement ton dossier "awstats" existe et qu'il est accessible tu ne devrait pas avoir ce problème. Si tu es "ramené" (si c'est une redirection, l'adresse dans la barre change et donc ce n'est en tous cas pas ces lignes vu qu'elles font une réécriture locale).

Tu peux tester rapidement ceci en commentant avec un "#" au début de chacune de ces 3 lignes et en essayer d'accéder au dossier "awstats"...si la redirection s'effectue toujours c'est que ce ne sont pas ces lignes...si tu as d'autres lignes dans ce fichier donne-les nous...sinon il faut regarder un niveau au dessus dans ton arborescence et ainsi de suite jusqu'à arriver au fichier de configuration principal de Apache (souvent nommé httpd.conf).

Au passage, la ligne donnée par Jeanluc était à placer avant les 3 lignes déjà présentes dans ton fichier bien entendu ;)

Partager ce message


Lien à poster
Partager sur d’autres sites
En étudiant tes règles et en les décrivant :

RewriteCond %{REQUEST_FILENAME} !-f <-- Si le nom de la ressource demandée n'est pas un fichier existant

RewriteCond %{REQUEST_FILENAME} !-f <-- Si le nom de la ressource demandée n'est pas un dossier existant

Si ces condifitions sont vérifiée,

RewriteRule . /index.php [L] <-- Réécrire la requête vers le fichier index.php.

Merci pour ces précisions concernant les conditions

Donc si effectivement ton dossier "awstats" existe et qu'il est accessible tu ne devrait pas avoir ce problème. Si tu es "ramené" (si c'est une redirection, l'adresse dans la barre change et donc ce n'est en tous cas pas ces lignes vu qu'elles font une réécriture locale).

Oui mon répertoire awstats existe, il contient le fichier awstats.pl et trois liens symbolique. Non, l'adresse ne change pas dans ma barre d'adresse.

Pour information, j'ai un accès SSH sur mon serveur

Tu peux tester rapidement ceci en commentant avec un "#" au début de chacune de ces 3 lignes et en essayer d'accéder au dossier "awstats"...si la redirection s'effectue toujours c'est que ce ne sont pas ces lignes...si tu as d'autres lignes dans ce fichier donne-les nous...sinon il faut regarder un niveau au dessus dans ton arborescence et ainsi de suite jusqu'à arriver au fichier de configuration principal de Apache (souvent nommé httpd.conf).

Je vous ai donner toutes les lignes de mes fichiers évidemment.

Je n'ai pas d'autres fichiers htaccess à des niveaux supérieurs.

Au passage, la ligne donnée par Jeanluc était à placer avant les 3 lignes déjà présentes dans ton fichier bien entendu ;)

Oui, j'avais bien compris

Partager ce message


Lien à poster
Partager sur d’autres sites

Après test

blocage de RewriteBase /

=> accès au blog OK, toujours pas d'accès à awstats

blocage de RewriteCond %{REQUEST_FILENAME} !-f

=> erreur 500 sur le blog et tjrs pas d'accès à awstats

blocage de RewriteCond %{REQUEST_FILENAME} !-f

=> accès au blog OK, pas d'accès à awstats

blocage de RewriteRule . /index.php

=> accès accueil blog OK, plus d'accès aux posts, accès awstats OK

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait après avoir regardé ta règle ne semble pas faire ce que tu souhaites

RewriteRule . /index.php

"." ne correspond qu'à "un caractère"... il faut l'associer à un quantificateur (+, * ou ?)

RewriteRule .* /index.php

Serait plus logique :)

Ensuite pour en revenir à ton problème... ce que je verrais éventuellement c'est que le lien symbolique n'est pas jugé comme un fichier ou un répertoire lors de la réécriture. Pour ce point je t'avoue que je ne suis pas sîur car je n'ai jamais fait l'expérience d'un tel problème, mais peut-être que la directive suivante dans ton .htaccess pourrait résoudre le problème :

Options +FollowSymLinks

Sinon il y a encore une possibilité... dans le même registre, en désactivant la directive MultiViews tu évites que Apache cherche lui même un fichier à présenter lorsqu'il ne trouve pas directement la ressource demandée :

Options -MultiViews

J'ai regardé les source de WordPress, ne l'ayant pas utilisé récemment, et je ne vois aucun fichier .htaccess, est-toi qui a écrit ces règles ou est-ce un plugin de WP qui permet de tirer partit de la réécriture ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai rajouté Options +FollowSymLinks mais cela ne change rien.

De mémoire, c'est lors à la fin de l'install Wordpress qu'il faut activer le .htaccess.

Partager ce message


Lien à poster
Partager sur d’autres sites

Peux-tu encore me confirmer une chose, est-ce que lorsque tu accède à l'adresse "../awstats/" l'adresse dans la barre d'adresse de ton navigateur change-telle (redirection) ou reste-t-elle telle quelle (et ton blog s'affiche à la place, réécriture) ?

Une petit chose encore, dans ton fichier.htaccess dans le répertoire "awstats" la ligne :

AddHandler cgi-script pl

Me semble plus juste si tu précises que "pl" est une extension en ajoutant un point devant (du moins c'est ainsi que le manuel Apache l'écrit) :

AddHandler cgi-script .pl

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui effectivement, l'adresse reste nomdudomaine/awstats mais c'est mon blog qui s'affiche.

Pour la correction du .htaccess, je la ferais ce soir.

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait c'est bien ce que je pensais, le lien symbolique est certainement la cause de ton problème, je ne sais pas si ton répertoire "awstats" est lui aussi un lien symbolique, mais même si ce n'est pas le cas le fichier qui est chargé par défaut lorsque tu accède à l'URL en est un. À mon avis il suffit de rajouter cette condition aux deux autres tests (fichiers et dossiers), l'ordre des 3 testes n'a pas d'importance :

RewriteCond %{REQUEST_FILENAME} !-l

Partager ce message


Lien à poster
Partager sur d’autres sites

Malheureusement, mon répertoire et le fichier awstats.pl ne sont pas des liens symboliques.

Contenu du répertoire awstats

awstats.pl
icon -> /usr/local/directadmin/plugins/awstats/hooks/cgi-bin/icon
lang -> /usr/local/directadmin/plugins/awstats/hooks/cgi-bin/lang
lib -> /usr/local/directadmin/plugins/awstats/hooks/cgi-bin/lib
plugins -> /usr/local/directadmin/plugins/awstats/hooks/cgi-bin/plugins

J'ai par ailleurs rajouté le code suivant mais cela ne change rien

RewriteCond %{REQUEST_FILENAME} !-l

Modifié par spinacle

Partager ce message


Lien à poster
Partager sur d’autres sites

Cela devient vraiment un problème bizarre... parce que quand explicitement tu dis de ne pas réécrire l'URL commençant par "awstat" (peut-être faut-il refaire un test en élargisant cette règle à "tout ce qui contient awstats" --> RewriteRule awstats - [L] (cette fois sans le ^) cela ne change rien, si tu lui dis explicitement pour tous les fichiers, dossiers et liens symboliques qui existent ne pas faire la réécriture et ça ne marche pas je commence à être à court d'idées.

Pour diagnostiquer encore plus le problème, est-ce que ce problème est le même pour d'autres répertoires (essaie d'en créer un et d'y accéder comme tu le fais pour awstats) ?

Partager ce message


Lien à poster
Partager sur d’autres sites

avec ce nous Rewrite, pas mieux

J'ai bien un répertoire images au même niveau que awstats. j'arrive à accéder à un fichier gif qui est directement dans ce dossier

Partager ce message


Lien à poster
Partager sur d’autres sites

D'accord, j'ai regardé un peu du côté des forums de WordPress et il semble que ton problème corresponde à peu près à cela : http://wordpress.org/support/topic/89515

Et/ou à ce bug report : http://trac.wordpress.org/ticket/2397

Les solutions y sont écrites mais en anglais, si c'est un problème je t'aiderai volontiers à les comprendre.

Partager ce message


Lien à poster
Partager sur d’autres sites

Un grand merci à toi TheRec, en créant un fichier vide dans mon répertoire /awstats et en modifiant mon .htaccess à la racine en y rajoutant la ligne ; cela fonctionne. :thumbsup:

ErrorDocument 401 /awstats/empty

Partager ce message


Lien à poster
Partager sur d’autres sites

Super ! De rien, j'ai lu les explications, le comportement est bizarre mais bon à connaître :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • Contenu similaire

    • Par kevinjoseph
      Bonjour, j’ai un gros problème sur mon site Wordpress . Du jour au lendemain, mon site wordpress fais une redirection vers un autre site wordpress que j’ai crée ,sans que je touche à quoi que ce soit. Quand j’essai d’aller sur l’admin pour désactiver les plugins et voir d’où peut venir le problème. Impossible d’accéder, sa me redirige vers l’admin de l’autre site. Au final il est impossible que j’accède au site via (google, la bare de recherche, les favoris, l’admin…) pour voir ce qu’il fonction pas, j’ai juste accès au FTP. J'ai essayé de voir d'où pouvez venir ce bug en supprimant les plugins, le théme, mes derniers modifications, regarder sur le .htaccess si il y avais quelque par le nom de domaine de l'autre site écrit. Ca n'a rien changer, le site continue de ce rediriger automatiquement vers l'autre site. Si vous avez une idée d’où sa peut venir ou comment faire pour arranger ça et surtout comment éviter que sa ce reproduise. Sa m’aiderai beaucoup, merci d’avance.
      voici le code du .htaccess:
       
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>

      # END WordPress
      ~   Ludovic • 16:28    
    • Par prem
      Hello j'aurais besoin urgemment de votre aide svp... Cela fais des jours que je bloques.
      Voilà j'ai des posts , chaque posts a plusieurs categories.
      j'ai fais une requete wp_query pour lister tous les posts sauf une categorie ,mais je me retrouves avec des doublons . voila mon code 
      <?php /** * The template for displaying a grid item. * * @package WordPress * @subpackage Edition * @since Edition 1.0 */ $do_not_duplicate = array(); $query = new WP_Query( array( 'category__not_in' => array( 32 ) ) ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); $do_not_duplicate[] = $post->ID; global $tw_section, // section object $grid_size, // grid size $post; // section object $section_id = get_the_ID($post); // section id $tw_categories = get_categories(); // get all post categories $post_type = get_post_type(); $thumbnail_size = 'half'; $thumbnail_size = ($grid_size == 'fullgrid') ? 'big' : $thumbnail_size; if ($grid_size == 'related') { $thumbnail_size = 'related'; } ?> <div class="<?php if ( isset($tw_categories[0]->term_id) ) { echo 'highlight_category_' . $tw_categories[0]->term_id; } ?> <?php echo (has_post_thumbnail()) ? 'has-thumbnail' : 'no-thumbnail'; ?> <?php echo $grid_size;?> grid-item"> <div class="isobrick-inner"> <?php the_post_thumbnail($thumbnail_size, array( 'onload' => 'jQuery(this).animate({ "opacity" : 0.75 }, 500);' )); ?> <?php echo themewich_review_circle('none', false); ?> <?php if ( 'post' == $post_type ) : ?> <span class="thumboverdate"> <i class="fa fa-bookmark"></i> <?php themewich_date('human'); ?> </span> <?php else: ?> <?php if ( function_exists( 'wc_get_template' ) ) : ?> <span class="thumboverdate"> <?php wc_get_template( 'loop/price.php' ); ?> </span> <?php endif; ?> <?php endif; ?> <div class="thumbovertext"> <div class="badge"> <?php echo ag_get_cats(3); ?> </div> <h2 class="title"> <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> <?php $title = get_the_title(); if (strlen($title) >= 75) { $title = mb_substr($title, 0, 75) . "... "; } echo $title; ?> </a> </h2> <?php if ( 'post' == $post_type ) : ?> <?php preg_match('/<!--more(.*?)?-->/', $post->post_content, $matches); ?> <a class="button outline" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> <?php if ( isset($matches[1]) && $matches[1] ) { echo $matches[1]; } else { _e('Lire la suite', 'themewich'); } ?> </a> <?php endif; ?> </div> <a class="brick-thumb-link" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> <?php the_title(); ?> </a> </div> </div> <?php endwhile; ?> <?php endif; ?> <?php wp_reset_query(); ?>  
       
       
      et quand je fais un var_dump ($do_not_duplicate);
      j'obtiens 
      array(1) { [0]=> int(470) }
      array(2) { [0]=> int(470) [1]=> int(368) } 
      array(3) { [0]=> int(470) [1]=> int(368) [2]=> 
       
       
      et je souhaiterai avec l'aide d'un foreach ne poster mon article qu'une fois
    • Par Theode69
      Bonjour à tous, sachez que votre réponse me sera d'une très grande aide ! 
       
      Je suis actuellement entrain de créer un  site pour une université. L'objectif est d'avoir terminé avant la fin du mois d'aout une version test/un MVP simple mais fonctionnel. Pour résumer, mon but est de simplifier et rendre plus rapide les inscriptions des étudiants auprès des professionnels. Ce site contiendra une partie pour les étudiants, une pour les professionnels.
       
      Pour faire simple chaque étudiant aura  un compte perso, sur lequel il pourra ajouter des documents (carte d'identité, RIB, justificatif de domicile, etc) afin de les stocker dans un cloud. 
       
      De l'autre côté, les professionnels (auto école, salle de sport, assurance, protection sociale, opérateur téléphonique) auront un espace dédié à leur activité. Ils auront une fiche résumant leur entreprise (secteur, téléphone, localisation) et ils renseigneront les documents nécessaire lors de l'inscription à leurs services. 
      Pour s'inscrire, l'étudiant n'aura plus qu'a autoriser l'accès à ses documents (préalablement enregistrés dans le cloud) évitant ansi de perdre du temps sur place en passant par la dématérialisation de l'inscription. 
       
      Le projet devra donc contenir : 
       
      une zone de connection privée pour chaque utilisateur et entreprise la liaison avec un cloud (je pensais sous traiter la gestion du cloud  à une entreprise spécialisée)  si possible une barre de recherche permettant de trouver les professionnels répondant aux besoins des utilisateurs  la possibilité pour le professionnel de télécharger les documents auxquels ils a été autorisé afin de procéder à l’inscription  si possible (pas urgent car surement compliqué) que chaque professionnel puisse établir une page de pré inscription où l’utilisateur remplie ses données de manières manuscrites (prénom, nom, mail, etc) avant de compléter l’inscription avec les documents justificatifs contenus dans le cloud   
       
      Ayant de bonnes bases en HTML+CSS et quelques connaissances concernant Java Script j'hésite encore sur la forme que pourra prendre le site. 
      Soit il m’est possible d’utiliser WordPress.org en utilisant différents plug ins (mais il y en a t-il qui permettent réellement de remplir tout ces objectifs?). 
      Soit je pensais créer mon site à l’aide de Meteor.Js ou Node.Js …

      Quelles solutions préconisez vous ? Si aucune ne vous semble adaptée selon vous comment pourrais je faire pour créer ce MVP ? Comment feriez vous pour commencer ce projet ? 
      Merci énormément pour l’aide que vous pourrez m’apporter dans cette aventure ! Je suis disponible si vous voulez échanger plus longuement. 
       
      Bien cdt 
      Théo R
    • Par Toulonweb
      Bonjour,
      je souhaite réaliser une section annuaire sur un site tournant sous wordpress,
      j'ai eu beau chercher a droite et a gauche mais rien à part 2 plugins qui ne sont plus mis a jours depuis des années.
      Je précise que je ne souhaite pas faire un site annuaire mais seulement une section sur un site existant.
      J'ai bien tenté arffo mais il n'est plus compatible avec php 5
      Auriez vous une piste?
       
      Merci d'avance.
       
      Nicolas
    • Par fbern
      Bonjour
       
      j'ai un vieux site sous wordpress, et je voudrais faire une dizaine de redirections.
      Je n'ai pas besoin d'expressions régulières, c'est du 1 pour 1.
      N'étant pas développeur, pouvez vous m'aider: dois-je obligatoirement utiliser mod rewrite ?
      Est-ce que vous n'auriez pas une solution plus simple car je n'ose pas mettre les mains dans Apache?
      merci
×