Puis-je créer une redirection 301 de "index.html" vers le répertoire racine si le fichier "index.html" n'existe pas?
Par exemple: link "http://example.com/index.html
" affiche la page "404 Error".
J'ai besoin d'une redirection 301 vers le répertoire racine: "http://example.com/
"
dans .htaccess j'ajoute la règle:
Options +FollowSymLinks
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://example.com/$1 [R=301,L]
mais ça ne marche pas. Pouvez-vous m'aider à résoudre ce problème?
Utilisez-le comme ceci:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*?/|)index\.html$ / [L,R=301,NC]
Si Request Nom de fichier se termine par index.html
ET si index.html
n'existe pas, il est alors redirigé vers http://example.com
.
Essayez ci-dessous règle de réécriture:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} ^(.*)/index.html$
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)/index.html$ http://example.com/$1 [R=301,L,NC]
La règle ci-dessus fonctionne pour moi
Essayez de vérifier celui-ci:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index.html$
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^(.*) http://%{HTTP_Host}/ [R=301]
Je suis désolé, j'ai oublié quelque chose. C'est maintenant édité!
Essayez ce deuxième!
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) http://%{HTTP_Host}/ [R=301]