J’essaie de réécrire afin que vous puissiez accéder aux fichiers sans .html et sans append de barre oblique. voici le code utilisé:
Options +FollowSymLinks -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.*?)/?$ RewriteCond %{DOCUMENT_ROOT}/%1.html -f RewriteRule ^(.*?)/?$ $1.html
Mais pour ma structure de fichiers sur le serveur où j’ai ceci:
/public_html .. /beginners beginners.html
et à l’intérieur du dossier / beginners il ya d’autres fichiers, par exemple
/beginners/page1.html
J’ai besoin de réécritures pour travailler comme ça:
si l’utilisateur saisit url: website.com/beginners
– le serveur renvoie actuellement le contenu du fichier beginners.html
qui renvoie le contenu du répertoire /beginners
. j’ai donc besoin que le serveur vérifie d’abord si beginners.html
existe, si oui – alors le serveur sert beginners.html
non le répertoire /beginners
si l’utilisateur accède à url website.com/beginners/page1
le serveur doit d’abord vérifier si la page1.html
existe existe dans le dossier débutants et si elle trouve le fichier page1.html
alors elle sert le contenu du fichier page1.html
Comment cela peut-il être fait?
Voici le .htaccess qui le fait:
Options +FollowSymLinks -MultiViews -Indexes DirectorySlash Off RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^(.*?)/?$ RewriteCond %{DOCUMENT_ROOT}/%1.html -f RewriteRule ^(.*?)/?$ $1.html