J'ai des problèmes pour essayer de
1) Supprimer l'extension que j'ai essayé d'utiliser dans mon fichier htaccess.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
Cependant, lorsque je clique sur des liens dans mon code HTML, tels que <a href="abcde.html"></a>
, le fichier .html n'est pas supprimé de l'URL et il ne me reste que www.website.com/abcde.html
2) J'ai essayé d'utiliser ceci pour supprimer l'index.html
RewriteCond %{THE_REQUEST} \/index\.(php|html)\ HTTP [NC]
RewriteRule (.*)index\.(php|html)$ /$1 [R=301,L]
Mais lorsque je charge un fichier index.html sur mon serveur, mon URL ressemble à ceci:
www.website.com/folder//
Je me retrouve avec un /
supplémentaire à la fin.
Quelqu'un peut m'aider?
En nous appuyant sur la réponse fournie par Anagio, couvrons toutes vos exigences:
/path/to/file
si /path/to/file.html
existe/path/to/file.html
/index.html
sur les requêtes contre /
Configuration du répertoire:
Options +FollowSymLinks -MultiViews
DirectoryIndex index.html
RewriteEngine On
#
# Rewrite valid requests on .html files
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html?rw=1 [L,QSA]
#
# Return 404 on direct requests against .html files
RewriteCond %{REQUEST_URI} \.html$
RewriteCond %{QUERY_STRING} !rw=1 [NC]
RewriteRule ^ - [R=404]
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
# To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]