Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/01/2015, à 06:15

gaffeur

[Résolu] htaccess récalcitrant ...

Bonjour, les "Charlie" !  wink

Je ne parviens pas à résoudre mon problème ; ça concerne l'utilisation d'un fichier ".htaccess".

J'ai lu une tonne d'articles sur le sujet et j'ai même parcouru la doc du site Apache. Résultat, j'y perds mon "latin". Je ne suis plus capable d'effectuer une synthèse cohérente, trop d'infos contradictoires ... ...

Afin que vous puissiez m'aider, je vous plante le décor ...

l'erreur rencontrée est la suivante :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.
Apache/2.4.7 (Ubuntu) Server at 127.0.0.1 Port 80

et voici ce que raconte le fichier "error log" :

[Wed Jan 28 03:21:53.076560 2015] [mpm_prefork:notice] [pid 1304] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.5 configured -- resuming normal operations
[Wed Jan 28 03:21:53.201051 2015] [core:notice] [pid 1304] AH00094: Command line: '/usr/sbin/apache2'
[Wed Jan 28 03:36:18.461067 2015] [core:alert] [pid 1507] [client 127.0.0.1:35293] /home/marc/www/structure_MVC/.htaccess: Invalid command '\xef\xbb\xbfRewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

Dès que je place la moindre ligne dans le fichier ".htaccess", j'obtiens une erreur ( ... même un simple commentaire "# ...." provoque une erreur).
... et  le contenu du fichier ".htaccess" est assez simple :

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/webroot
RewriteRule ^(.*)$ webroot/$1

[Pour info] : si je vire le fichier ".htaccess", le site fonctionne normalement ...

Je précise que le module "mod_rewrite" est bien présent, j'ai vérifié avec la commande phpinfo().

Côté liens symboliques, voilà ce que donne la commande :

~$ ls -l /etc/apache2/mods-enabled

Résultat :

lrwxrwxrwx 1 root root 36 déc.  14 22:15 access_compat.load -> ../mods-available/access_compat.load
lrwxrwxrwx 1 root root 28 déc.  14 22:15 alias.conf -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root 28 déc.  14 22:15 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 déc.  14 22:15 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 déc.  14 22:15 authn_core.load -> ../mods-available/authn_core.load
lrwxrwxrwx 1 root root 33 déc.  14 22:15 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root 33 déc.  14 22:15 authz_core.load -> ../mods-available/authz_core.load
lrwxrwxrwx 1 root root 33 déc.  14 22:15 authz_host.load -> ../mods-available/authz_host.load
lrwxrwxrwx 1 root root 33 déc.  14 22:15 authz_user.load -> ../mods-available/authz_user.load
lrwxrwxrwx 1 root root 32 déc.  14 22:15 autoindex.conf -> ../mods-available/autoindex.conf
lrwxrwxrwx 1 root root 32 déc.  14 22:15 autoindex.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root 30 déc.  14 22:15 deflate.conf -> ../mods-available/deflate.conf
lrwxrwxrwx 1 root root 30 déc.  14 22:15 deflate.load -> ../mods-available/deflate.load
lrwxrwxrwx 1 root root 26 déc.  14 22:15 dir.conf -> ../mods-available/dir.conf
lrwxrwxrwx 1 root root 26 déc.  14 22:15 dir.load -> ../mods-available/dir.load
lrwxrwxrwx 1 root root 26 déc.  14 22:15 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root 29 déc.  14 22:15 filter.load -> ../mods-available/filter.load
lrwxrwxrwx 1 root root 27 déc.  14 22:15 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root 27 déc.  14 22:15 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root 34 déc.  14 22:15 mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
lrwxrwxrwx 1 root root 34 déc.  14 22:15 mpm_prefork.load -> ../mods-available/mpm_prefork.load
lrwxrwxrwx 1 root root 34 déc.  14 22:15 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root 34 déc.  14 22:15 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root 27 déc.  14 22:15 php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root 27 déc.  14 22:15 php5.load -> ../mods-available/php5.load
lrwxrwxrwx 1 root root 30 janv. 27 16:33 rewrite.load -> ../mods-available/rewrite.load
lrwxrwxrwx 1 root root 31 déc.  14 22:15 setenvif.conf -> ../mods-available/setenvif.conf
lrwxrwxrwx 1 root root 31 déc.  14 22:15 setenvif.load -> ../mods-available/setenvif.load
lrwxrwxrwx 1 root root 29 déc.  14 22:15 status.conf -> ../mods-available/status.conf
lrwxrwxrwx 1 root root 29 déc.  14 22:15 status.load -> ../mods-available/status.load
~$

et voici la config du fichier "000-default.conf" :

<VirtualHost *:80>
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	#ServerName www.example.com

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html/
	

	Alias /structure_MVC /home/marc/www/structure_MVC
	<Directory /home/marc/www/structure_MVC>
	      Options Indexes FollowSymLinks MultiViews
	      AllowOverride All
	       <RequireAny>
		    Require ip 127.0.0.1
		    Require ip 192.168.1
		    Require host .w3.org
	      </RequireAny>
	</Directory>
		
	
	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

... suis paumé roll

Dernière modification par gaffeur (Le 28/01/2015, à 17:37)


Celui qui pose des questions apprend. Celui qui croit tout savoir n'apprend rien ! ...

Hors ligne

#2 Le 28/01/2015, à 09:03

tiramiseb

Re : [Résolu] htaccess récalcitrant ...

Salut,

Ton éditeur de texte insère un BOM UTF-8. Ce sont les trois premiers octets « \xef\xbb\xbf ».
http://fr.wikipedia.org/wiki/Indicateur … des_octets
Quel éditeur utilises-tu ? Il faut le configurer pour qu'il ne mette pas le BOM.

Cela étant dit, pourquoi utiliser un fichier .htaccess si tu as la main sur la config d'Apache ?
https://www.maccagnoni.eu/2014/02/apach … -htaccess/

Hors ligne

#3 Le 28/01/2015, à 16:27

gaffeur

Re : [Résolu] htaccess récalcitrant ...

Mon EDI c'est KDevelop, dont l'éditeur est Kate. Et effectivement, je constate que dans le menu "Éditeur => Outils =>",  j'ai l'option "=>Ajouter une marque d'ordre d'octets (BOM)", qui est activée.
Je n'ai pas d'explication à cela ; c'est sans doute une mauvaise manipulation ...
Je l'ai donc désactivée ! ...

... et tout fonctionne !  smile

Bien vu !  wink  Merci pour ton aide !


Maintenant, pour répondre à ta deuxième question, concernant l'utilisation d'un ".htaccess", alors que j'ai accès à la config serveur (et je sais que ce n'est pas nécessaire dans ce cas) ; c'est tout simplement pour simuler le cas d'un hébergement mutualisé, où en général on ne peut avoir accès à la configuration du serveur !

Tu ne trouves pas ça logique ?


Celui qui pose des questions apprend. Celui qui croit tout savoir n'apprend rien ! ...

Hors ligne

#4 Le 28/01/2015, à 22:22

tiramiseb

Re : [Résolu] htaccess récalcitrant ...

pour simuler le cas d'un hébergement mutualisé

Si ton but c'est de préparer un site pour un mutualisé, alors ça se défend.
Sinon, je ne vois pas l'intérêt.

Hors ligne