8768 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un petit soucis avec mon erreur 404.


Quand j'écris dans l'URL une suite de lettre au hasard après le slash :
www.monsite.com/dewdewdewde
=> J'obtiens bien ma page 404 et l'URL reste tel qu'écrite ci-dessus plus ou moins
www.monsite.com/dewdewdewde/

Quand j'écris dans l'URL une seule lettre au hasard après le slash :
www.monsite.com/a
=> L'URL change et donne ce qui suit ci-dessous
www.monsite.com/monsite.com/www/public/a/
Alors que ce devrait être comme ceci :
www.monsite.com/a/




J'ai 2 fichiers .htaccess :
- 1 à la racine de mon serveur avec les dossiers de mes sites
- 1 à la racine de mon site principal avec l'index


1er fichier .htaccess - Serveur

<IfModule mod_rewrite.c>
   Options +FollowSymlinks
   RewriteEngine On
   RewriteBase /


# HTTP vers HTTPS

   RewriteCond %{HTTPS} off
   RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
   RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
   RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
   RewriteRule (.*)  https://%{HTTP_HOST}%{REQUEST_URI}  [R,L]



# Changer la racine (document root) par un sous-dossier

# Problème de trailing slash 
# Quand on ne termine pas son lien par un slash pour indiquer un répertoire
   RewriteCond %{REQUEST_URI} /+[^\.]+$
   RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
   RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
   RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
   RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

# Changement du document root par un sous-dossier
   RewriteCond %{HTTP_HOST} ^monsite.com$ [NC,OR]
   RewriteCond %{HTTP_HOST} ^www.monsite.com$
   RewriteCond %{REQUEST_URI} !monsite.com/public/www/
   RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
   RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
   RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
   RewriteRule (.*) /monsite.com/public/www/$1 [L]

</IfModule>



2ème fichier .htaccess - Mon site web principal

ErrorDocument 400 /erreur/400/index.html
ErrorDocument 401 /erreur/401/index.html
ErrorDocument 403 /erreur/403/index.html
ErrorDocument 404 /erreur/404/index.html
ErrorDocument 500 /erreur/500/index.html

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript


Quelqu'un aurait-il une solution pour résoudre ce problème pas très classe ? Smiley ohwell

Bien à vous et merci d'avance à ceux qui auront la sympathie de me répondre.
Modifié par rhq (25 Jul 2018 - 17:16)