sandrinoo Posted November 16, 2021 Share Posted November 16, 2021 Bonjour à tou.te.s, J'ai dans mon htaccess un rewriting d'url comme ceci qui génère une url avec un slash de fin : RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L] J'ai par ailleurs un autre fichier news.php dont je voudrais également que l'url soit aussi avec un slash de fin "/news/" Mais bien sur ma réécriture d'url m'en empèche donc j'ai testé 3 essais d'exceptions mais sans succès : RewriteRule ^/news/ - [L] RewriteCond %{REQUEST_FILENAME} !^news/ RewriteCond %{REQUEST_URI} !^/news/ Je m'y prends mal, quel est le souci ? (je suis en mutu chez OVH). Merci d'avance si quelqu'un voit... Link to comment Share on other sites More sharing options...
Dan Posted November 17, 2021 Share Posted November 17, 2021 Il y a 20 heures, sandrinoo a dit : J'ai dans mon htaccess un rewriting d'url comme ceci qui génère une url avec un slash de fin : RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L] Je ne suis pas certain de comprendre, car ta réécriture ne génère pas une URL avec un / final, mais fait l'inverse: elle traite une URL avec un / final et lance categorie.php avec le nom en paramètre. Link to comment Share on other sites More sharing options...
sandrinoo Posted November 17, 2021 Author Share Posted November 17, 2021 Bonjour Dan et merci, Alors là je ne comprends plus rien car chez moi ça fonctionne en générant dans mon navigateur, une url propre avec un slash final de type classique : www.nd.com/nom_de_cat/ Comment tu écrirais ça toi ? Link to comment Share on other sites More sharing options...
Dan Posted November 17, 2021 Share Posted November 17, 2021 Cela ne génère pas une URL dans ton navigateur... C'est toi ou tes visiteurs qui entrent cette URL avec un / final, et ton .htaccess qui la convertit pour afficher la catégorie. Link to comment Share on other sites More sharing options...
sandrinoo Posted November 18, 2021 Author Share Posted November 18, 2021 (edited) Oui je me suis mal exprimée : c'est exactement ce que tu dis. 1/ Alors mon code est correct pour faire cela ? 2/ et comment faire une exception sur /news/ (sachant que la base de /news/ est news.php )? Edited November 18, 2021 by sandrinoo Link to comment Share on other sites More sharing options...
Dan Posted November 18, 2021 Share Posted November 18, 2021 En ajoutant une règle pour news au dessus de ta règle précédente, comme ceci par exemple: RewriteRule ^news/$ /news.php [L] Il faut qu'elle soit avant pour que /news/ ne soit pas capté par ta règle appelant categorie.php Link to comment Share on other sites More sharing options...
sandrinoo Posted November 18, 2021 Author Share Posted November 18, 2021 (edited) Oui ça c'est la première chose que j'avais faite faite au départ. J'ai quand même retesté maintenant comme tu me dis avec "RewriteRule ^news/$ /news.php [L]" AVANT "RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L]" mais sans succès : - la page /news/ affiche en fait /categorie.php?cat=news Par contre si Je place un # devant "RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L]" là ok ça marche pour /news/ (mais plus pour les catégories bien sûr). Bizarre non ?? Edited November 18, 2021 by sandrinoo Link to comment Share on other sites More sharing options...
Dan Posted November 18, 2021 Share Posted November 18, 2021 Si elle est en première position, le flag [L] (pour LAST) doit normalement empêcher les autres règles de s'exécuter. Cela ressemble fort à un bug ! As-tu autre-chose au début de ton .htaccess ? As-tu par hasard édité ton fichier .htaccess sur un PC ? Il peut avoir des caractères ^M (fin de ligne microsoft) Link to comment Share on other sites More sharing options...
sandrinoo Posted November 18, 2021 Author Share Posted November 18, 2021 Oui, au début de mon htaccess j'ai ça : ErrorDocument 404 '404 htaccess' Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^.*$ https://www.%1%{REQUEST_URI} [L,NE,R=301] Et oui je suis passée de PC (ou j'ai créé le htaccess) à MAC il y a 1 an ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now