Pattern pointant sur un scriptalias ?

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

bibilefou
Nouveau WRInaute
 
Messages: 6
Inscription: Mar Sep 02, 2003 17:46

Pattern pointant sur un scriptalias ?

Message le Jeu Jan 29, 2004 17:32

Bonjour,

J'utilise AWStats et je l'interface avec PHP pour gérer automatiquement diverses conneries.
J'aimerais disposer d'url simple mais il y a un dossier scriptalias qui me gêne.

J'aimerais avoir une URL comme ceci :
http://www.domaine.com/stats/site1.html
cette adresse pointant vers :
http://www.domaine/stats/awstats.pl?config=site1

Le dossier stats est un scriptalias et c'est là que ça plante.

Voici la config dans mon httpd.conf :
Code: Tout sélectionner
ScriptAlias /stats/ "C:/Serveurs/AWStats/wwwroot/cgi-bin/"
    <Directory "/stats/">
        Options +FollowSymLinks
        RewriteEngine on
        RewriteRule ^(.*)\.html$ awstats.pl?config=$1 [L]
    </Directory>
    <Directory "C:/Serveurs/AWStats/wwwroot">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>


Config de vhost.conf pour le domanie en question :
Code: Tout sélectionner
<VirtualHost *>
ServerName stats.domain.com
DocumentRoot "F:/www/stats"
</VirtualHost>


Quelqu'un peut m'aiguiller ?

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Jeu Jan 29, 2004 18:50

Essaie avec un flag PT
Code: Tout sélectionner
RewriteRule ^(.*)\.html$ awstats.pl?config=$1 [PT,L]

ca permet de partager les réécritures entre plusieurs modules.

Comme ils disent dans la doc d'Apache
Note: You have to use this flag if you want to intermix directives of different modules which contain URL-to-filename translators. The typical example is the use of mod_alias and mod_rewrite..

bibilefou
Nouveau WRInaute
 
Messages: 6
Inscription: Mar Sep 02, 2003 17:46

Message le Jeu Jan 29, 2004 23:48

marche pas ...
enfin à moitié.

ça me donne une erreur 400 !
Invalid URI in request GET /stats/site1.html HTTP/1.1

J'ai modifié la condition du rewrite et j'ai mis le chemin du répertoire plutôt que son alias, dans la directire directory.

bibilefou
Nouveau WRInaute
 
Messages: 6
Inscription: Mar Sep 02, 2003 17:46

Message le Ven Jan 30, 2004 1:00

Bon et bien voici ma config finale. J'ai tout placé dans le virtualhost comme ça, plus simple à gérer (vu que le scripts bouffe pas mal de ressources (perl...)).

Code: Tout sélectionner
<VirtualHost *>
# principal
ServerName stats.domaine.com
DocumentRoot "C:/www/stats"
# AWStats
Alias /awstatsclasses "C:/Serveurs/AWStats/wwwroot/classes/"
Alias /awstatscss "C:/Serveurs/AWStats/wwwroot/css/"
Alias /awstatsicons "C:/Serveurs/AWStats/wwwroot/icon/"
ScriptAlias /stats/ "C:/Serveurs/AWStats/wwwroot/cgi-bin/"
<Directory "C:/Serveurs/AWStats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Options -indexes
# rewrite des stats
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^/stats/(.*)\.html$ /stats/awstats.pl?config=$1 [PT,L]
</VirtualHost>


Pour ceux que ça intéresse, le script PHP associé :
Code: Tout sélectionner
<?
// Listing des stats dispos à partir des fichiers de conf de AWStats
error_reporting("E_ALL");

$cmd = 'find C:\Serveurs\AWStats\wwwroot\cgi-bin -name "awstats.*.conf" -type f -print';
exec($cmd,$find_ar);

for ( $i=0; $i<count($find_ar); $i++ ) {
    if ( !ereg("awstats.model.conf$",$find_ar[$i]) ) {
        ereg("awstats\.(.*)\.conf$",$find_ar[$i],$nom);
      echo '<li><a href="/stats/'.$nom[1].'.html">'.ereg_replace("_-"," ",$nom[1]).'</a></li>';
    }
}
?>


Biensûr, faut adapter les chemins vers les scripts et autres selon vos installations mais le principal est là.

Au fait, AWStats est un log viewer, pas tout mal : http://www.awstats.org/

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Jan 30, 2004 10:15

bibilefou a écrit:Bon et bien voici ma config finale. J'ai tout placé dans le virtualhost comme ça, plus simple à gérer (vu que le scripts bouffe pas mal de ressources (perl...)).


Au cas où, tu peux aussi lui faire générer les pages de stats plutôt qu'y accéder en CGI. Un cron quotidien et plus de problèmes de ressources.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


cron