htaccess et erreur 500

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour, je suis sur ovh mutu
jusqu'à la tout va bien sauf que depuis quelque jours j ai des erreur de type 500
le support ovh me dit que c est a cause de mon .HTACCESS mais le prob je l ai pas changé :/
les erreurs sont aléatoire, souvent quand je lance /admin etc... en gros quand il connecte a sql

mon fichier htaccess est en CHMOD 604( j ai pas changé il était comme ca )
quelqu un a une idée de quoi faire ? :/

merci

#

Apache/PHP/Drupal settings:

#

SetEnv REGISTER_GLOBALS 0

Protect files and directories from prying eyes.

Order allow,deny

Don't show directory listings for URLs which map to a directory.

Options -Indexes

Follow symbolic links in this directory.

Options +FollowSymLinks

Make Drupal handle any 404 errors.

ErrorDocument 404 /index.php

Force simple error message for requests for non-existent favicon.ico.

# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.

Set the default handler.

DirectoryIndex index.php

Override PHP settings. More in sites/default/settings.php

but the following cannot be changed at runtime.

PHP 4, Apache 1.

php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0

PHP 4, Apache 2.

php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0

PHP 5, Apache 1 and 2.

php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0

Requires mod_expires to be enabled.

# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1

Various rewrite rules.

RewriteEngine on

# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example.com$ [NC]
# RewriteRule ^(.)$ http://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
# RewriteRule ^(.
)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
RewriteBase /
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

SetEnv PHP_VER 5

$Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $

Version de Drupal : 

Tu es sous quelle version de Drupal 6 ?
Parceque ton .htaccess ne ressemble pas à celui livré en standard...

Ceci dit j'ai eu le même problème (mais moi je suis sur dédié OVH) et que Alexandre (Ineation) se demandait bien d'où ça venait... Ca m'a bien pris la tête !

Après avoir regardé les logs d'Apache, j'ai finalement trouvé la solution. Une erreur est générée dans Apache (en tout cas 2.2.8) : "ErrorDocument takes two arguments, Change responses for HTTP errors".

La suppression de la directive "<Files favicon.ico>" dans le htaccess par défaut règle le problème... je n'ai pas encore eu le temps de regarder comment ré-écrire celle-ci pour que ça ne plante pas.

Il semblerait que l'astuce qui consiste à ne pas fermer le guillemet dans la directive ErrorDocument pour la compatibilité avec Apache 1.3 ne soit pas appréciée des serveurs d'OVH.

Donc essaye de virer :

# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.

ok, merci
moi j ai drupal 6.10
le bug a commencé avec la 6.10, alors soit le hasard soit ...

le htaccess livré avec le 6.9 mais ya des espaces en mois et 2 ligne en plus

je test ton truc ce soir, la je dois sortir
tu es sur le chan irc ?

cya

Donc essaye de virer :

je commente la ligne ? ~#~

There is no end quote below, for compatibility with Apache 1.3.

ErrorDocument 404 "The requested file favicon.ico was not found.

Non je ne suis pas sur IRC.

Le htaccess de la 6.10 (identique à la 6.9, que je sache) ne ressemble pas au tien, il manque des choses... (cf plus bas).

Dans mon cas la suppression de cette partie a réglé l'erreur :

<Files favicon.ico>
  # There is no end quote below, for compatibility with Apache 1.3.
  ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>

Dans le tien, en commentant la ligne (effectivement avec le #)

# ErrorDocument 404 "The requested file favicon.ico was not found.

Ca devrait le faire... du moins si c'est le même problème que le mien, encore une fois je suis sur dédié avec Apache 2.2.8.

Le htaccess de la 6.10 :

#
# Apache/PHP/Drupal settings:
#

# Protect files and directories from prying eyes.
<FilesMatch ".(engine|inc|info|install|module|profile|test|po|sh|.sql|theme|tpl(.php)?|xtmpl|svn-base)$|^(code-style.pl|Entries.|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
  Order allow,deny
</FilesMatch>

# Don't show directory listings for URLs which map to a directory.
Options -Indexes

# Follow symbolic links in this directory.
Options +FollowSymLinks

# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php

# Force simple error message for requests for non-existent favicon.ico.
<Files favicon.ico>
  # There is no end quote below, for compatibility with Apache 1.3.
  ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>

# Set the default handler.
DirectoryIndex index.php

# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.

# PHP 4, Apache 1.
<IfModule mod_php4.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
  # Enable expirations.
  ExpiresActive On

  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600

  # Do not cache dynamically generated pages.
  ExpiresByType text/html A1
</IfModule>

# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on

  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # adapt and uncomment the following:
  # RewriteCond %{HTTP_HOST} ^example.com$ [NC]
  # RewriteRule ^(.)$ http://www.example.com/$1 [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment and adapt the following:
  # RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
  # RewriteRule ^(.
)$ http://example.com/$1 [L,R=301]

  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /

  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

# $Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $

Bonsoir,

J'ai viré les deux ligne mais ça marche tjs pas !!!
Le message est le suivant :Warning: fopen(./sites/default/default.settings.php) [function.fopen]: failed to open stream: No such file or directory in.../install.inc

Avez vous une idée ?

Waze

La directive RewriteBase est déjà dans ton htaccess (ligne 93 et suivante), elle est commentée :

# Modify the RewriteBase if you are using Drupal in a subdirectory or in
# a VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal

Si ton site est dans un sous-répertoire, il faut l'ajouter (dans l'exemple du htaccess ci dessus dans le sous-répertoire /drupal).

Ok David
je viens de comparer mon htaccess et le tient :o
a part 2 ligne en plus ds le mien c est les même : set env php5 et register global

j ai commenter la partie erreur 404 je vais tester le site.
apache est en version 2.2.x

peut tu me dire quel CHOMD faut il pour le htaccess ?
la le mien 604.

merci

edit : bon j ai toujours des error 500 x)

grrr

Effectivement cette erreur n'a aucun sens et si vous avez suivi le lien vers la page de la doc Apache sur ErrorDocument (plus haut) il n'y a pas de précision sur le sujet.

Encore une fois perso j'ai un dédié chez OVH infogéré par un pro (et j'ai Apache 2.2.8), et aucun CMS n'a jamais posé ce problème de htaccess. J'ai galéré au stade de l'install où il me disait à chaque fois que mon serveur ne gèrai pas le rewriting d'url (!). C'est en virant cette directive que j'ai résolu le problème, en ce qui me concerne. Mais ni les experts Drupal, ni mon administrateur serveur n'ont pu me dire pourquoi...

Les joies de la technique !

Pour répondre à ta question mon htaccess est en 644.
Si tu as accès aux logs Apache perso c'est comme ça que j'ai trouvé la "solution".

Bien reçu !

Je viens de regarder tes logs et il y a un paquet de

Premature end of script headers: index.php

lorsque tu es dans l'admin.

Ca peut vouloir dire que memory limit est trop faible sur ton serveur, ou que ton fichier index.php est corrompu (essaye de le re-télécharger).

Par contre je ne comprend pas, ton site à l'air de fonctionner (?) même pour les pages qui dans les logs donnent une erreur...

oui pour les visiteurs ca va, heuresement il y a rien.
les erreurs sont lorsque je suis log admin et que je veux aller dans les options : module block rapport tableau de bord, lancer le cron etc....
ca charge -- rame -rame -rame -erreur 500

memory_limit est a 32M

je vais test le index.php

merci

Possible que memory limit soit trop faible... Drupal bouffe énormément de mémoire, sur mon dédié avec un projet assez important, j'ai du passer au delà des 128M !!! Perso ça n'est pas un problème ayant un bon dédié bien musclé j'ai même mis 256M pour ne pas m'embêter mais sur un mutu...

Avec Devel(si tu arrive à l'activer car lui aussi bouffe de la mémoire) tu peut savoir combien de mémoire est utilisée et si ta limite est trop faible... Sinon via le panneau d'admin d'OVH en mutu il y a peut-être un historique des ressources (je ne sais plus, ça fait un bail que je suis en dédié...).

je vais installer devel.
pour limiter la memory ( si c est la cause )
je peux juste installer *devel et *Performance Logging
ou il faut que je les coche tous ?

merci

j ai installé devel mais APC veut pas ;o
il me retourne une erreur pour un limite a 48, je cherche ou je peux changer sa memory limit ... si on peut

edit bon pas trouvé x)
j ai demandé a ovh si ils peuvent me donner les pics du memory_limit
on verra bien.
en tout cas là ca fait 2h que j ai plus d erreur...