Bonjour tout le monde,

j'ai un petit soucis:

J'ai developpé mon propre Framework/CMS en locale.
Je souhaitais le passer aujourd'hui sur mon hébergement mutualisé 1and1, malheureusement, j'ai une grosse erreur 500 lorsque j'utilise le flag "END" dans mes rewritesRules.

A prioris (mais rien de sur) il semble que la version d'apache des hébergement 1and1 mutualisé sont en 1.3.4, et que le flag END a été ajouté à partir d'Apache 2.4.
je n'ai malheureusement pas trouvé le moyen de vérifier la version d'apache, il n'y a aucune information dans le phpinfo()

En tout cas, le fait est que le flag "END" me donne une belle erreur 500.

Je n'ai pas trouvé le moyen de contourner le problème:
si je supprime simplement mes flag END, plus rien ne fonctionne (par exemple, mes fichier .css / .js (etc) tournent en boucle).

Voici mon fichier actuel:

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
ErrorDocument 404 /error/index/error/404
ErrorDocument 403 /error/index/error/403
 
Options +FollowSymlinks -Indexes
 
RewriteEngine on
RewriteBase /mymorph_framework/
 
## Downloads ##
RewriteRule ^file-([0-9]+)\.html$ file.php?id=$1&%{QUERY_STRING} [L]
 
## Cas particulier ##
RewriteRule ^admin/admin.css$							myMorph/cms/admin/admin.css [L,END]
RewriteRule ^admin/images/(.+)$							myMorph/cms/admin/images/$1 [L,END]
RewriteRule ^myMorph/admin/general/news/uploadimage.php(.+)$			myMorph/cms/admin/general/news/uploadimage.php$1 [L,END]
 
## General ##
RewriteRule ^blocks/(.+)$							myMorph/cms/blocks/$1 [L,END]
RewriteRule ^composants/(.+)$							myMorph/cms/composants/$1 [L,END]
RewriteRule ^modules/(.+)$							myMorph/framework/modules/$1 [L,END]
RewriteRule ^themes/(.+)$							myMorph/themes/$1 [L,END]
RewriteRule ^multimedia/(.+)$							myMorph/cms/multimedia/$1 [L,END]
RewriteRule ^function/javascript/(.+)$						myMorph/framework/function/javascript/$1 [L,END]
 
RewriteCond %{REQUEST_URI} \.(?:js|css|jpg|jpeg|gif|png)$
RewriteRule ^admin/(.+)$							myMorph/cms/admin/$1 [L,END]
 
## Admin ##
RewriteRule ^admin/([0-9A-Za-z]+)/([0-9A-Za-z]+)/(.+)/?$	 		index.php?com=admin&controller=$1&action=$2&params=$3&%{QUERY_STRING} [L,END]
RewriteRule ^admin/([0-9A-Za-z]+)/([0-9A-Za-z]+)/?$	 			index.php?com=admin&controller=$1&action=$2&%{QUERY_STRING} [L,END]
RewriteRule ^admin/([0-9A-Za-z]+)/?$ 				 		index.php?com=admin&controller=$1&%{QUERY_STRING} [L,END]
RewriteRule ^admin/?$ 								index.php?com=admin&%{QUERY_STRING} [L,END]
 
## MVC ##
RewriteRule ^([0-9A-Za-z]+)/?$ 						 	index.php?com=$1&%{QUERY_STRING} [L,END]
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z]+)/?$					index.php?com=$1&option=$2&%{QUERY_STRING} [L,END]
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z]+)/(.*)/?$				index.php?com=$1&option=$2&params=$3&%{QUERY_STRING} [L,END]
Comment puis-je faire pour avoir des rewriteRules sans le flag END qui puisse fonctionner tout de même ?

Si j'ai bien compris, il me faut une règle qui permette de forcer le fait de stopper les réécritures a la fin de mes règles.

Merci beaucoup




Edit:

Après avoir bidouillé un peu voici ce que je remarque:
J'apelle le lien: http://monsite.com/modules/jquery/thickbox-compressed.js
Le veritable lien (physique dirons-nous) est http://monsite.com/myMorph/framework/modules/jquery/thickbox-compressed.js


1) sans .htacess cela ne fonctionne pas, normal.
2) Si j'ajoute la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RewriteRule ^modules/(.+)$	myMorph/framework/modules/$1 [L]
Cela fonctionne correctement, j'arrive a atteindre mon fichier.
3) si j'ajoute une seconde ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z]+)/(.*)/?$	index.php?com=$1&option=$2&params=$3&%{QUERY_STRING} [L]
Cela ne fonctionne de nouveau plus.

J'ai l'impression que la première règle redirige correctement vers "http://monsite.com/myMorph/framework/modules/jquery/thickbox-compressed.js"
Mais que du coup, a ce moment, cette redirection tombe a nouveau dans la seconde règle, et tente donc de me rediriger vers
http://monsite.com/index.php?com=mymorph&option=framework&params=modules/jquery/thickbox-compressed.js

Pourtant je pensais que le drapeau "L" était sencé éviter ça ?
Des idées ?
Merci.