.htaccess non interprété

Discussion dans 'URL Rewriting et .htaccess' créé par salt1bang, 13 Décembre 2005.

  1. salt1bang
    salt1bang Nouveau WRInaute
    Inscrit:
    21 Juillet 2005
    Messages:
    5
    J'aime reçus:
    0
    Bonjour à tous,
    Je suis en train de faire des tests d'url_rewriting (en local sur une Debian 3.1). J'obtiens la page d'erreur 404 quand je test mes url virtuels. Le mod_rewrite apparait bien dans 'Loaded modules' de Apache2Handlers dans phpinfo().
    J'ai l'impression que mon fichier .htaccess n'est pas interprété par Apache (v2.0.54) car en le parametrant pour faire un accès restreint, rien ne se passe non plus..
    J'ai passé les permissions du .htaccess à 755. Toujours rien..
    Je ne vois pas où peut être la source de mon problème..
    Si quelqu'un pouvait me donner de nouvelles pistes, ça serait bien tranquille! :)
     
  2. correiaj
    correiaj WRInaute passionné
    Inscrit:
    25 Avril 2005
    Messages:
    1 105
    J'aime reçus:
    0
    AllowOverride All

    dans le httpd.conf ;-)
     
  3. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    15 681
    J'aime reçus:
    0
    chemin d acces de tes fichiers rewrites non spécifié
     
  4. correiaj
    correiaj WRInaute passionné
    Inscrit:
    25 Avril 2005
    Messages:
    1 105
    J'aime reçus:
    0
    Et je ne sais pas si c´est bien de mettre son htaccess en 755 ...
     
  5. salt1bang
    salt1bang Nouveau WRInaute
    Inscrit:
    21 Juillet 2005
    Messages:
    5
    J'aime reçus:
    0
    En effet le problème vient surement de mon httpd.conf qui est quasiment vide (juste l'appel du mod_rewrite). Mais quand j'ajoute le AllowOverride et que je relance Apache, j'ai le message d'erreur suivant: "AllowOverride not allowed here"..

    J'essaie de trouver de la doc pour configurer mon httpd.conf.. si quelqu'un connait de bon liens, je suis preneur!


    Donc il vaut mieux que le laisse en 644 ou que je baisse encore les autorisations?
     
  6. correiaj
    correiaj WRInaute passionné
    Inscrit:
    25 Avril 2005
    Messages:
    1 105
    J'aime reçus:
    0
    pour le chmod, seul le serveur a besoin d´y acceder et doit y acceder...

    Après, pour le httpd.conf, voilà en gros ce qu´il faut:

    UseCanonicalName Off
    AccessFileName .htaccess
    DocumentRoot "...(le chemin)www"
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
     
  7. salt1bang
    salt1bang Nouveau WRInaute
    Inscrit:
    21 Juillet 2005
    Messages:
    5
    J'aime reçus:
    0
    En faite j'ai l'impression qu'Apache2 sur Debian va d'abord lire les paramètres du fichier apache2.conf dont voici le mien:
    Code:
    # Based upon the NCSA server configuration files originally by Rob McCool.
    # Changed extensively for the Debian package by Daniel Stone <daniel@sfarc.net>
    # and also by Thom May <thom@debian.org>.
    
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    #
    # NOTE!  If you intend to place this on an NFS (or otherwise network)
    # mounted filesystem then please read the LockFile documentation
    # (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
    # you will save yourself a lot of trouble.
    
    ServerRoot "/etc/apache2"
    
    # The LockFile directive sets the path to the lockfile used when Apache
    # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
    # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
    # its default value. The main reason for changing it is if the logs
    # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
    # DISK. The PID of the main server process is automatically appended to
    # the filename. 
    
    LockFile /var/lock/apache2/accept.lock
    
    # PidFile: The file in which the server should record its process
    # identification number when it starts.
    
    PidFile /var/run/apache2.pid
    
    # Timeout: The number of seconds before receives and sends time out.
    
    Timeout 300
    
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection). Set to "Off" to deactivate.
    
    KeepAlive On
    
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    # We recommend you leave this number high, for maximum performance.
    
    MaxKeepAliveRequests 100
    
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    
    KeepAliveTimeout 15
    
    ##
    ## Server-Pool Size Regulation (MPM specific)
    ## 
    
    # prefork MPM
    # StartServers ......... number of server processes to start
    # MinSpareServers ...... minimum number of server processes which are kept spare
    # MaxSpareServers ...... maximum number of server processes which are kept spare
    # MaxClients ........... maximum number of server processes allowed to start
    # MaxRequestsPerChild .. maximum number of requests a server process serves
    <IfModule prefork.c>
    StartServers         5
    MinSpareServers      5
    MaxSpareServers     10
    MaxClients          20
    MaxRequestsPerChild  0
    </IfModule>
    
    # pthread MPM
    # StartServers ......... initial  number of server processes to start
    # MaxClients ........... maximum  number of server processes allowed to start
    # MinSpareThreads ...... minimum  number of worker threads which are kept spare
    # MaxSpareThreads ...... maximum  number of worker threads which are kept spare
    # ThreadsPerChild ...... constant number of worker threads in each server process
    # MaxRequestsPerChild .. maximum  number of requests a server process serves
    <IfModule worker.c>
    StartServers         2
    MaxClients         150 
    MinSpareThreads     25
    MaxSpareThreads     75
    ThreadsPerChild     25
    MaxRequestsPerChild  0
    </IfModule>
    
    # perchild MPM
    # NumServers ........... constant number of server processes
    # StartThreads ......... initial  number of worker threads in each server process
    # MinSpareThreads ...... minimum  number of worker threads which are kept spare
    # MaxSpareThreads ...... maximum  number of worker threads which are kept spare
    # MaxThreadsPerChild ... maximum  number of worker threads in each server process
    # MaxRequestsPerChild .. maximum  number of connections per server process (then it dies)
    <IfModule perchild.c>
    NumServers           5
    StartThreads         5
    MinSpareThreads      5
    MaxSpareThreads     10
    MaxThreadsPerChild  20
    MaxRequestsPerChild  0
    AcceptMutex fcntl
    </IfModule>
    
    User www-data
    Group www-data
    
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    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
    
    
    # Global error log.
    ErrorLog /var/log/apache2/error.log
    
    # Include module configuration:
    Include /etc/apache2/mods-enabled/*.load
    Include /etc/apache2/mods-enabled/*.conf
    
    # Include all the user configurations:
    Include /etc/apache2/httpd.conf
    
    # Include ports listing
    Include /etc/apache2/ports.conf
    
    # Include generic snippets of statements
    Include /etc/apache2/conf.d/[^.#]*
    
    #Let's have some Icons, shall we?
    Alias /icons/ "/usr/share/apache2/icons/"
    <Directory "/usr/share/apache2/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
    # Set up the default error docs.
    #
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    #
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    #
    
    #
    # Putting this all together, we can Internationalize error responses.
    #
    # We use Alias to redirect any /error/HTTP_<error>.html.var response to
    # our collection of by-error message multi-language collections.  We use 
    # includes to substitute the appropriate text.
    #
    # You can modify the messages' appearance without changing any of the
    # default HTTP_<error>.html.var files by adding the line;
    #
    #   Alias /error/include/ "/your/include/path/"
    #
    # which allows you to create your own set of files by starting with the
    # /usr/local/apache2/error/include/ files and
    # copying them to /your/include/path/, even on a per-VirtualHost basis.
    #
    
    <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
    
    # UserDir is now a module
    #UserDir public_html
    #UserDir disabled root
    
    #<Directory /home/*/public_html>
    #	AllowOverride FileInfo AuthConfig Limit
    #	Options Indexes SymLinksIfOwnerMatch IncludesNoExec
    #</Directory>
    
    AccessFileName .htaccess
    
    <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/*
    
    # This really should be .jpg.
    
    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^^
    
    
    # This is from Matty J's patch. Anyone want to make the icons?
    #AddIcon /icons/dirsymlink.jpg ^^SYMDIR^^
    #AddIcon /icons/symlink.jpg ^^SYMLINK^^
    
    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 en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw
    
    
    #AddDefaultCharset	ISO-8859-1
    
    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
    # For russian, more than one charset is used (depends on client, mostly):
    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-httpd-php .php
    #AddType application/x-httpd-php-source .phps
    
    AddType application/x-tar .tgz
    
    # To use CGI scripts outside /cgi-bin/:
    #
    #AddHandler cgi-script .cgi
    
    # To use server-parsed HTML files
    #
    <FilesMatch "\.shtml(\..+)?$">
        SetOutputFilter INCLUDES
    </FilesMatch>
    
    # If you wish to use server-parsed imagemap files, use
    #
    #AddHandler imap-file map
    
    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/[^.#]*
    
    pour ensuite aller lire les paramètres du httpd.conf dont voici le mien
    (modifié selon les conseils de Correiaj):
    Code:
    ServerName LocalWebServ
    # Lancement du module permettant l'url rewriting (apparait bien dans le phpinfo() )
    LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
    UseCanonicalName Off
    AccessFileName .htaccess
    DocumentRoot "/var/www"
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
    J'ai placé mon .htaccess
    que voici:
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule   ^nexistepas.html$   /trouve.html  [L]
    
    Authname "Indentification"
    AuthUserFile /var/www/tests/access.txt
    AuthGroupFile /dev/null
    AuthType Basic
    <limit GET POST>
    require valid-user
    </limit>
    dans un sous-repertoire de mon 'www', mais quand j'essaye d'aller sur la page qui n'existe pas, je n'ai ni l'identification du htaccess, ni l'url_rewriting car je tombe sur la page d'erreur 404 d'Apache..

    En espérant que tout ces renseignements pourront permettre de voir où se situe l'erreur, car j'ai beau chercher, je ne vois toujours pas comment faire interpréter ce maudit .htaccess par Apache!!! :roll:
     
  8. correiaj
    correiaj WRInaute passionné
    Inscrit:
    25 Avril 2005
    Messages:
    1 105
    J'aime reçus:
    0
    Je pense qu´il te faut décommenter cela, et oublie le httpd.conf alors, si tout est ici...
     
  9. salt1bang
    salt1bang Nouveau WRInaute
    Inscrit:
    21 Juillet 2005
    Messages:
    5
    J'aime reçus:
    0
    :( ça fonctionne toujours pas... je crois que je je testerai l'url_rewrite directement sur le serveur de production.. Je vais pas me prendre la tête plus longtemps sur la Debian, si c'est pour recommencer une autre parade avec la Fédora!! En espérant que je ne laisse pas trop de liens morts...
    Merci beaucoup pour ton aide Correiaj, même si le problème n'a pas été résolu, j'ai pu apprendre pas mal de choses en cherchant la solution.