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 :

[URL Rewriting] sur téléchargement de fichiers


Sujet :

Apache

  1. #21
    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
    Oui, on est d'accord, effectivement. Y a-t-il quelque part dans httpd.conf ou les .htaccess des règles de réécriture, des RewriteCond, etc que tu n'aurais pas encore donnés ? Pour être sûr, peux-tu redonner le contenu exact des .htaccess qui se trouvent à la racine du site, dans /dnl et dans /stat ?

    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

  2. #22
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Il me semble (corrige moi si je me trompe) que la prioritée du .htaccess est donné a celui qui est dans un répertoire enfant ce qui annule les directives de celui qui est dans le parent.

    /www/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Options -Indexes
    RewriteEngine on
    RewriteCond %{REQUEST_URI} /dnl/
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/.* /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [L]
    /stat/config
    les autres .HTACCESS
    /phpbb2/cache
    /forumbb/cache
    /radio
    /phpmyadm (via symlink)
    /phpmyadm/libraries (via symlink)

  3. #23
    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
    Citation Envoyé par Dr.Wily Voir le message
    Il me semble (corrige moi si je me trompe) que la prioritée du .htaccess est donné a celui qui est dans un répertoire enfant ce qui annule les directives de celui qui est dans le parent.
    Oui c'est bien ça.


    Je ne vois vraiment pas le pb avec ton .htaccess. Dernière chose qu'on n'a pas regardée : le fichier httpd.conf. Tu peux donner son contenu complet ?

    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

  4. #24
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Ouaip !


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    ServerName sc_serv.localdomain:80
     
    ServerRoot "/etc/apache2"
     
    LockFile /var/lock/apache2/accept.lock
     
    PidFile /var/run/apache2.pid
     
    TimeOut 300
     
    KeepAlive on
     
    MaxKeepAliveRequests 100
     
    KeepAliveTimeout 15
     
    <IfModule prefork.c>
    StartServers         5
    MinSpareServers      5
    MaxSpareServers     10
    MaxClients          20
    MaxRequestsPerChild  0
    </IfModule>
     
    <IfModule worker.c>
    StartServers         2
    MaxClients         150 
    MinSpareThreads     25
    MaxSpareThreads     75
    ThreadsPerChild     25
    MaxRequestsPerChild  0
    </IfModule>
     
    <IfModule perchild.c>
    NumServers           5
    StartThreads         5
    MinSpareThreads      5
    MaxSpareThreads     10
    MaxThreadsPerChild  20
    MaxRequestsPerChild  0
    AcceptMutex fcntl
    </IfModule>
     
    User www-data
    Group www-data
     
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
     
    ErrorLog /var/log/apache2/error.log
     
    Include /etc/apache2/mods-enabled/*.load
    Include /etc/apache2/mods-enabled/*.conf
     
    Include /etc/apache2/httpd.conf
     
    Include /etc/apache2/ports.conf
     
    Include /etc/apache2/conf.d/[^.#]*
     
    Alias /icons/ "/usr/share/apache2/icons/"
    <Directory "/usr/share/apache2/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
     
    <IfModule mod_negotiation.c>
    <IfModule mod_include.c>
        Alias /error/ "/usr/share/apache2/error/"
     
        <Directory "/usr/share/apache2/error">
            AllowOverride None
            Options IncludesNoExec
            AddOutputFilter Includes html
            AddHandler type-map var
            Order allow,deny
            Allow from all
            LanguagePriority en es de fr
            ForceLanguagePriority Prefer Fallback
        </Directory>
     
        ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
        ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
        ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
        ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
        ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
        ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
        ErrorDocument 410 /error/HTTP_GONE.html.var
        ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
        ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
        ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
        ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
        ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
        ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
        ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
        ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
        ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
        ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
     
    </IfModule>
    </IfModule>
     
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
     
    DocumentRoot /var/www/
    AccessFileName .htaccess
     
    #<Directory "/var/www/*">
    #Options -Indexes +FollowSymLinks
    #RewriteEngine on
    #RewriteCond %{REQUEST_URI} /dnl/
    #RewriteCond %{REQUEST_URI} /([^/]*)$
    #RewriteRule ^dnl/.* /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [L]
    #</Directory>
     
    #<Directory /var/www/dnl>
    #	AllowOverride All
    #	Options Indexes SymLinksIfOwnerMatch IncludesNoExec
    #IndexOptions FancyIndexing ScanHTMLTitles IconsAreLinks FoldersFirst
    #</Directory>
     
    Alias /webmail "/usr/share/squirrelmail"
       <Directory "/usr/share/squirrelmail">
         Options Indexes FollowSymLinks MultiViews
           AddType application/x-httpd-php .php
             AllowOverride All
              Order allow,deny
    	   Allow from all
    </Directory>
     
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
    </Files>
     
    UseCanonicalName Off
     
    TypesConfig /etc/mime.types
    DefaultType text/plain
     
    HostnameLookups Off
     
    IndexOptions FancyIndexing VersionSort
     
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
     
    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*
     
    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core
     
    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^
     
    DefaultIcon /icons/unknown.gif
     
    ReadmeName README.html
    HeaderName HEADER.html
     
    IndexIgnore .??* *~ *# HEADER* RCS CVS *,t
     
    AddEncoding x-compress Z
    AddEncoding x-gzip gz tgz
     
    AddLanguage da .dk
    AddLanguage nl .nl
    AddLanguage en .en
    AddLanguage et .et
    AddLanguage fr .fr
    AddLanguage de .de
    AddLanguage el .el
    AddLanguage it .it
    AddLanguage ja .ja
    AddLanguage pl .po
    AddLanguage ko .ko
    AddLanguage pt .pt
    AddLanguage no .no
    AddLanguage pt-br .pt-br
    AddLanguage ltz .ltz
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .se
    AddLanguage cz .cz
    AddLanguage ru .ru
    AddLanguage tw .tw
    AddLanguage zh-tw .tw
     
    LanguagePriority fr en da nl et de el it ja ko no pl pt pt-br ltz ca es sv tw
     
    AddDefaultCharset	off
     
    AddCharset ISO-8859-1  .iso8859-1  .latin1
    AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
    AddCharset ISO-8859-3  .iso8859-3  .latin3
    AddCharset ISO-8859-4  .iso8859-4  .latin4
    AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
    AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
    AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
    AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb
    AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
    AddCharset ISO-2022-JP .iso2022-jp .jis
    AddCharset ISO-2022-KR .iso2022-kr .kis
    AddCharset ISO-2022-CN .iso2022-cn .cis
    AddCharset Big5        .Big5       .big5
    AddCharset WINDOWS-1251 .cp-1251   .win-1251
    AddCharset CP866       .cp866
    AddCharset KOI8-r      .koi8-r .koi8-ru
    AddCharset KOI8-ru     .koi8-uk .ua
    AddCharset ISO-10646-UCS-2 .ucs2
    AddCharset ISO-10646-UCS-4 .ucs4
    AddCharset UTF-8       .utf8
     
    AddCharset GB2312      .gb2312 .gb
    AddCharset utf-7       .utf7
    AddCharset utf-8       .utf8
    AddCharset big5	       .big5 .b5
    AddCharset EUC-TW      .euc-tw
    AddCharset EUC-JP      .euc-jp
    AddCharset EUC-KR      .euc-kr
    AddCharset shift_jis   .sjis
     
    AddType application/x-tar .tgz
     
    <FilesMatch "\.shtml(\..+)?$">
        SetOutputFilter INCLUDES
    </FilesMatch>
     
    BrowserMatch "Mozilla/2" nokeepalive
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0
     
    #
    # The following directive disables redirects on non-GET requests for
    # a directory that does not include the trailing slash.  This fixes a
    # problem with Microsoft WebFolders which does not appropriately handle
    # redirects for folders with DAV methods.
    #
     
    BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
    BrowserMatch "^WebDrive" redirect-carefully
    BrowserMatch "^gnome-vfs" redirect-carefully
    BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
     
    # Allow server status reports, with the URL of http://servername/server-status
    # Change the ".your_domain.com" to match your domain to enable.
    #
    #<Location /server-status>
    #    SetHandler server-status
    #    Order deny,allow
    #    Deny from all
    #    Allow from .your_domain.com
    #</Location>
     
    # Allow remote server configuration reports, with the URL of
    #  http://servername/server-info (requires that mod_info.c be loaded).
    # Change the ".your_domain.com" to match your domain to enable.
    #
    #<Location /server-info>
    #    SetHandler server-info
    #    Order deny,allow
    #    Deny from all
    #    Allow from .your_domain.com
    #</Location>
     
    # Include the virtual host configurations:
    Include /etc/apache2/sites-enabled/[^.#]*

  5. #25
    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
    Je ne vois rien d'anormal. Et tes VH, steuplé

    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

  6. #26
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Oups, effectivement j'avais oublier celui-là

    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
    41
    42
    ServerAdmin wwwadm@localhost
     
    	DocumentRoot /var/www/
    	<Directory />
    		Options FollowSymLinks
    		AllowOverride None
    	</Directory>
    	<Directory /var/www/>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    		# This directive allows us to have apache2's default start page
                    # in /apache2-default/, but still have / go to the right place
                    RedirectMatch ^/$ /apache2-default/
    	</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
    	ServerSignature On
     
        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>

  7. #27
    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
    Décidément, je ne vois rien d'anormal. A part tenter de déboguer la réécriture progressivement, je ne vois rien d'autre. En gros, commencer avec un .htaccess qui ne contient que ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule .* http://www.google.fr/ [R,L]
    Avec ça, ton navigateur doit toujours être redirigé vers Google. Si ce n'est pas le cas, y a un pb avec la prise en compte des .htaccess ou mod_rewrite. Faut d'abord résoudre le pb.

    Ensuite, si ça passe, faut monter en complexité : essayer de faire en sorte que seules les URL sur /dnl soient prises en compte, en rajoutant RewriteCond %{REQUEST_URI} /dnl/, etc.

    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

  8. #28
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Dis moi si je me trompe. Mais je viens de m'apercevoir d'un truc dans la config de l'un des Vhost que penses-tu de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Directory /var/www/>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    		# This directive allows us to have apache2's default start page
                    # in /apache2-default/, but still have / go to the right place
                    RedirectMatch ^/$ /apache2-default/
    	</Directory>
    EDIT : Alors, j'ai remplacé le "none" par "all". C'est déjà mieux il se passe quelque chose... Mais pas ce que je désire. En fait, il y a une bonne et une mauvaise nouvelle :

    - la mauvaise : impossible d'accéder aux fichiers le clic sur ce lien par exemple donnera une erreur. Idem en lien directe sur un fichier. Pourtant je n'ai pas d'erreur dans le log d'apache...

    - la bonne : les fichiers accédés sont enfin enregistrés dans les stats. Mais bon si l'on ne peut pas les téléchargés...

    Le .HTACCESS est dans /www/

    EDIT 2 : pour enlever tout doute sur le fonctionnement du .htaccess j'ai placé les directives dans le fichier de configuration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Directory "/var/www/">
    Options -Indexes +FollowSymLinks
    AllowOverride All
    RewriteEngine on
    RewriteCond %{REQUEST_URI} /dnl/
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/.* /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [R,L]
    </Directory>
    J'ai bien une réaction de la part d'apache. Mais c'est étrange. J'ai toujours l'erreur :

    Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
    Mais les stat sont bien enregistrés. Voici ce que me dit le "access.log" d'apache lorsque j'accède à un fichier avec la réécriture :

    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
    [09/Apr/2008:14:37:19 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:19 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:20 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:20 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:20 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:20 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:21 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:21 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:21 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:21 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:22 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:22 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:22 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:22 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:23 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:23 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:23 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:23 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:24 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:24 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/rpm-python-4.0.2-2P.mipsel.rpm&id=1&pagename=FILE:rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 - "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [09/Apr/2008:14:37:24 +0200] "GET /dnl/rpm-python-4.0.2-2P.mipsel.rpm HTTP/1.0" 302 452 "http://wellby.dyndns.org/dnl/index_list.php" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    Et ça, c'est pour un 1 clic sur 1 fichier, pour aboutir à une erreur !

    Dans le "RewriteRule" si je renseigne DNL comme ceci : ^dnl/.* ça donne l'erreur dont je viens de parler. Par contre si DNL est renseigné de cette facon : ^/dnl/.* le téléchargement fonctionne, mais les statistiques ne sont pas prisent en compte et le "access.log" d'apache ne fait aucune référence à la réécriture...

  9. #29
    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
    OK, faut simplement renforcer le premier RewriteCond, je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/dnl/.
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/. /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [R,L]
    Je rajoute un . à 2 endroits pour dire "l'URL doit être /dnl/ suivi d'au moins 1 caractère". J'ai mis aussi un ^ devant pour éviter les pbs avec un éventuel répertoire appelé dnl se trouvant ailleurs dans l'arborescence du site.

    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

  10. #30
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Marche pas ! Même erreur, j'ai testé :

    conditions et règles :

    Téléchargement OK, mais pas de stat
    Stat OK mais pas de téléchargement
    Je me dis que lorsque la réécriture se fait, le lien vers le fichier téléchargé n'est peut être plus bon, et qu'au lieu de télécharger le fichier le navigateur tente le téléchargement de l'URL réécrite. Oui, non ?

    EDIT :

    Ce que je ne comprends pas :

    - La règle de réécriture semble bonne, dans la barre d'adresse du navigateur l'URL est réécrite correctement

    - Pourquoi le log d'apache montre je ne sais combien de GET au même fichier alors qu'il ne devrait y en avoir que 1 ou 2 ?

    - Pourquoi le fait de rajouter un "/" devant DNL change totalement le comportement du serveur ? D'ailleurs, comment sont interprétés les chemins dans le htaccess ou les directives en relatif ou en absolu ?

    En fait je me pose des questions... Mais l'idée viens tout juste d'arrivée ! (genre l'ampoule qui s'éclaire enfin... )

    En fait, le principe c'est que le script phpmyvisites.php enregistre dans la base le fichier qui a été accédé puis le renvois en tant que téléchargement ce qui donne :

    1. interception et réécriture de l'URL
    2. enregistrement dans la base
    3. redirection du fichier vers l'utilisateur via l'URL présente juste après (?url=http://wellby.dyndns.org....).

    Or, le serveur à une règle qui lui dit de rediriger chaque accès à /DNL/ vers /stat/phpmyvisites.php et le script lui redirige vers /DNL/. Une sorte de boucle infinie. Pas cool tout ça.

    Là je dois dire que je ne sais pas comment empêcher ça. De plus je ne comprend vraiment pas ce qui change le "/" dans tout ça...

    Qu'en pense M. couteau suisse ?

  11. #31
    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
    Le / devant, c'est pas gênant : faut juste savoir que dans un RewriteRule "standard", y a pas de / devant Ce comportement dépend des versions d'Apache, je crois. Avec certains Apache 1.3, faut mettre le / alors que sur d'autre faut pas. C'est pour ça qu'il faut essayer avec ou sans voir ce qui passe mais généralement c'est sans.

    Pour la boucle infinie, tu as raison. Ce qu'il est possible de faire, c'est de rajouter un RewriteCond pour tester la non-présence du paramètre pagename dans la query string : si ce paramètre n'est pas présent, on fait la réécriture, sinon on fait rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/dnl/.
    RewriteCond %{QUERY_STRING} pagename=
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/. /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [R,L]
    Faudrait essayer en virant le R dans la RewriteRule histoire de masquer l'appel à phpmyvisites aux visiteurs.

    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

  12. #32
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    OK, fichier conf modifié. Téléchargement OK mais les stat ne sont plus enregistrées (c'est comme s'il y avait le "/" devant DNL).

    Je vais attendre demain pour voir s'il y a de nouvelles entrées dans PHPmv.

  13. #33
    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
    Le navigateur est redirigé vers phpmyvisites.php ?

    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

  14. #34
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Directory "/var/www/*">
    Options -Indexes +FollowSymLinks
    AllowOverride All
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/dnl/.
    RewriteCond %{QUERY_STRING} pagename=
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/. /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [R,L]
    </Directory>
    J'ai ce genre de log dans le access.log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [10/Apr/2008:10:05:50 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 200 54300316 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    Alors que je devrais avoir ce genre de log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GET /stat/phpmyvisit...?url=http://...../dnl/Duke3d.rar
    Je me trompe ? J'ai rajouté "*" sur la directive var/www car à la base ce n'était pas pris en compte. Peut être que je devrais en ajouter une spécifiquement pour /dnl ?

  15. #35
    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
    boulette !!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/dnl/.
    RewriteCond %{QUERY_STRING} !pagename=
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/. /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}&id=1&pagename=FILE:%1 [R,L]
    J'ai expliqué ce qu'il fallait faire mais je l'ai pas fait !!

    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

  16. #36
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Je dois ajouté un paramètre quelconque après "!pagename= ?

    Car là ça réagit toujours de la même façon, apache tourne en boucle voilà le log :

    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
    [10/Apr/2008:12:53:44 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:44 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:45 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:46 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:47 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:47 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:48 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:50 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:51 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:51 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:52 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:52 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:53 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:54 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:56 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:56 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:57 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:57 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:58 +0200] "GET /dnl/Duke3d.rar HTTP/1.0" 302 412 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    [10/Apr/2008:12:53:59 +0200] "GET /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE:Duke3d.rar HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"

  17. #37
    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
    Ah oui, non, ça y est, j'ai compris !!! Quel boulet je fais : il a fallu le temps, pratiquement 3 pages de forum, pffff

    phpmyvisites.php redirige sur la même URL que précédemment, sans ajouter de paramètre pagename : l'URL http://wellby.dyndns.org/dnl/Duke3d.rar est réécrite en /stat/phpmyvisites.php?url=http://wellby.dyndns.org/dnl/Duke3d.rar&id=1&pagename=FILE: Duke3d.rar qui redirige sur la valeur du paramètre url qui vaut http://wellby.dyndns.org/dnl/Duke3d.rar (= l'URL initiale) et pas http://wellby.dyndns.org/dnl/Duke3d.rar...pagename=... comme je croyais, je ne sais pas pourquoi. Donc oui, effectivement, ça boucle et ça ne risque pas de marcher un jour comme ça.

    Du coup, faut bien gruger. Essaie avec ça (j'ai retiré le R du RewriteRule ; remets-le si phpmyvisites.php n'est pas appelé correctement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{REQUEST_URI} ^/dnl/.
    RewriteCond %{THE_REQUEST} !\?
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/.* /stat/phpmyvisites.php?url=http://localhost%{REQUEST_URI}\?&id=1&pagename=FILE:%1 [L]
    En gros, l'idée c'est de différencier l'URL initiale qui déclanche la trace dans phpmyvisites et la redirection qui doit déclancher cette fois le téléchargement. Comme ce sont a priori les mêmes URL, le seul moyen que j'ai trouvé pour faire la différence c'est de rajouter un ? à la fin du fichier sur la redirection. Comme ça, Apache trouve le fichier et peut l'envoyer au navigateur et on a les moyens de faire un filtre pour la redirection sur phpmyvisites.

    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

  18. #38
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Eh bien on avance ! Ca y est presque, je ne sais pas ou tu tiens ton expérience sur la syntaxe barbare des htaccess (en même temps je n'y avait jamais touché), mais je commence à cerner la puissance de ce truc, merci ! Je reviens à mes moutons.

    Lorsque je télécharge un fichier avec une url de type phpmyvisites.php?url=... sans aucune réécriture voila ce que donne le access.log

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [11/Apr/2008:01:55:36 +0200] "GET /stat/phpmyvisites.php?url=http%3A//wellby.dyndns.org/dnl/openssh-server-3.4p1-1.mipsel.rpm&id=1&pagename=FILE:openssh-server-3.4p1-1.mipsel.rpm HTTP/1.1" 302 - "http://www.developpez.net/forums/showthread.php?t=518531" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"
    [11/Apr/2008:01:55:37 +0200] "GET /dnl/openssh-server-3.4p1-1.mipsel.rpm HTTP/1.1" 206 46358 "http://www.developpez.net/forums/showthread.php?t=518531" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"
    [11/Apr/2008:01:55:37 +0200] "GET /dnl/openssh-server-3.4p1-1.mipsel.rpm HTTP/1.1" 206 46358 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"
    Le 3ème "GET" apparais lorsque le téléchargement se termine ou est annulé.

    Mais avec la réécriture que tu me propose le log ne montre qu'un seul GET :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [11/Apr/2008:02:02:43 +0200] "GET /dnl/Duke3d.rar HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13"
    La ou c'est bien c'est que l'enregistrement se fait bien dans PHPmv, là ou c'est pas cool c'est que tu as remplacé l'url du site par localhost, ce qui n'est pas idiot. Mais là ou ça cloche c'est que le navigateur prend aussi le localhost, du coup l'url final pour le téléchargement de fichier est mauvaise. puisqu'elle apparait comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/dnl/Duke3d.rar
    (avec et sans "R")

    J'ai bien essayé avec l'url de base (wellby...) et là j'ai une redirection incorecte (boucle).

    Ce qu'il y a de positif (...) c'est que dans les 2 cas l'enregistrement dans phpmv est effectué...

  19. #39
    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
    Le localhost, je l'ai mis pour faire mes tests sur mon PC et j'ai oublié de remettre le nom de ton site, donc faut que tu corriges
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{REQUEST_URI} ^/dnl/.
    RewriteCond %{THE_REQUEST} !\?
    RewriteCond %{REQUEST_URI} /([^/]*)$
    RewriteRule ^dnl/.* /stat/phpmyvisites.php?url=http://wellby.dyndns.org%{REQUEST_URI}\?&id=1&pagename=FILE:%1 [L]
    Pour les 2 ou 3 traces dans les logs, c'est pas grave : le statut HTTP est 206, ce qui signifie que le serveur envoie le fichier par petits bouts plutôt qu'un seul.

    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

  20. #40
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut


    Tu dois bien te douté que j'ai essayé avec l'url du site

    Et justement comme je le dis dans mon précédent post ça boucle à nouveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    J'ai bien essayé avec l'url de base (wellby...) et là j'ai une redirection incorecte (boucle).

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/08/2011, 17h40
  2. Appliquer 2 règles d'url-rewriting sur 1 url
    Par Mikgger dans le forum Apache
    Réponses: 1
    Dernier message: 23/08/2009, 16h28
  3. [phpBB] Url rewriting sur forum phpBB3
    Par Immobilis dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 04/03/2009, 12h32
  4. [URL REWRITING] Incohérence avec le fichier index ?
    Par dorian53 dans le forum Apache
    Réponses: 15
    Dernier message: 28/01/2009, 18h28

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