.htaccess ne marche pas sur planethoster (fonctionnel chez OVH)

#1
Bonjour,

Mon .htaccess situé dans /home/user/www/public pose problème sur planethoster, pourtant je n'ai aucuns problème sur un VPS de chez OVH.

J'ai des pages 404 :
Not Found
The requested URL was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Quel est le problème ?

Voici le .htaccess :
Config Apache:
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?action=$1 [L]

#############
#### 404 ####
#############

ErrorDocument 404 /?action=404

#### Affiche 404 sur tout ce qui commence par index.php
RewriteRule ^(index\.php)(.*){0,}$ - [L,R=404]

#############
#### 301 ####
#############

#### Pour les liens FB qui posent problèmes
RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} =action=mentions-legales
RewriteRule ^$ /mentions-legales? [L,R=301]
Merci d'avance.
 
#2
Je suis sur un framework perso, et mon .htaccess est habituellement dans mon répertoire /home/user/www/public, le problème est que le DocumentRoot (qui n'est pas modifiable sur un mutu au passage), pointe vers /home/user/www.
Dans ce répertoire j'y ai mis un .htaccess avec ceci :

Config Apache:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-name.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain-name.com$
RewriteCond %{REQUEST_URI} !folder/
RewriteRule (.*) /folder/$1 [L]
Remplacez folder par le repertoire contenant le point d'entré de votre application.
 
#4
Bonjour Marc André,

Merci, j'ai résolu le problème je donne la solution dans le précédent message.
J'ajouterai que pour les redirections 301 au lieu de faire :

Code:
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} =action=mentions-legales
RewriteRule ^$ /mentions-legales? [L,R=301]
Il faut mettre :

Config Apache:
RewriteCond %{QUERY_STRING} =action=mentions-legales
RewriteRule ^$ /mentions-legales? [R=301,END]
Sinon j'ai une boucle de redirection 301, le flag [END] stope ce comportement.

Le htaccess c'est pas mon point fort quand je vois que ça marche je garde cette base que je réutilise pour d'autres projets.
 
Haut