Bonjour,
Je mes en place l'URL Rewritting sur mon site OVH mais ca ne fonctionne pas du tout.
La portion intéressante de mon fichier .htaccess est la suivante:
RewriteEngine On
RewriteRule ^/src/tarifs-([a-z0-9\-]+)\.html$ /src/tarifs/tarifs.php?p=$1
Avant le "/src/" dans ma règle de réécriture d'URL j'ai essayé de mettre mon site "https://www.monsite.fr/src/tarifs/" mais ca ne fonctionne pas non plus.
J'ai essayé plusieurs autres combinaisons mais je me demande si l'URL Rewritting est bien activé sur mon site/serveur Apache. Ou si c'est ma règle qui est incorrecte. Une idée ?
URL Rewritting simplissime
Sujets apparentés
- Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS
63959
03.09.2018 14:46
- Connexion à mon compte client
58087
13.02.2019 09:51
- reCAPTCHA erreur pour le propriétaire du site : clé de site non valide
50041
14.02.2019 16:17
- [FAQ] Comment mettre à jour mon site pour supporter Apache 2.4 ?
34351
28.07.2017 11:39
- Ce site est inaccessible Impossible de trouver l'adresse DNS du serveur
29800
16.10.2016 16:24
- Augmenter taille PHP Post Max Size sur mutualisé ?
28262
04.12.2019 21:52
- The requested URL / was not found on this server
27860
02.03.2017 18:25
- NextCloud sur mutualisé
27222
07.04.2017 08:42
- Deploy d'un projet Node JS
27084
12.10.2016 20:18
- Passage en php 7.4
24854
30.06.2020 05:05
La règle semble correcte mais l'encodage peut-être pas. Avec quoi édites-tu ton texte ?
Merci Daniel pour ton intérêt à ma question.
J'utilise un ancien WebMatrix de Microsoft. Il n'existe plus mais il est éprouvé (depuis le temps que je l'utilise, moi et par d'autre). Je n'ai aucun doute sur sa "capabilité"... Je vais essayé avec éditeur différent, au cas où.
Bon. Daniel, j'ai légèrement retravaillé mon fichier .htaccess par Visual Studio Code (excellent truc), je l'ai enregistré puis mis sur mon site web. Résultat: cela ne fonctionne pas. Es-tu certain que ma règle est correct ?
Pour mémoire, voilà mon fichier .htaccess entier (il y a pas mal de commentaires précédés par #, attention). Tu vas remarquer la règle en question dedans.
[code]
# Alternative pour empêcher le listage des répertoires
IndexIgnore *
# Masquer les informations du serveur
ServerSignature Off
# Activation du suivi des liens symboliques
Options +FollowSymLinks
# Choix du fuseau horaire
SetEnv TZ Europe/Paris
# Encodage par défaut des fichiers textes et HTML
AddDefaultCharset UTF-8
# Protéger les fichiers .htaccess et .htpasswds
order allow,deny
deny from all
satisfy all
RewriteEngine On
# pour rediriger automatiquement vers https
# RewriteCond %{HTTPS} off
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# Pour rediriger index.htm vers index.php. Inutile puisque l'on utilise un header(url) en PHP.
# RewriteRule ^index\.html$ /index.php [L]
# RewriteRule ^/articles/lire-([0-9]+)-([a-z0-9\-]+)\.html$ /index.php?rub=lireArticle&id=$1
RewriteRule ^/src/tarifs-([a-z0-9\-]+)\.html$ /src/tarifs/tarifs.php?p=$1
# Test
# RewriteCond %{SERVER_PORT} 80
# RewriteRule ^(.*)$ $1 [R,L]
[/code]
Janus: fait. Merci.
Bonjour,
Je vous conseil de mettre votre code entre balise [code][ //code]
Cordialement, janus57
Janus: Fait, message plus haut. Merci.
Bon. Quid de cette règle:
[code]
RewriteRule ^/src/tarifs-([a-z0-9\-]+)\.html$ /src/tarifs/tarifs.php?p=$1
[/code]
Une idée ?
Daniel60, pour mon fichier .htaccess j'ai utilisé plusieurs autres éditeurs dont le très basic Notepad inclus dans Windows. J'ai essayé de mettre une tabulation au lieu d'un espace dans la règle. J'ai encodé le fichier en UTF-8.
J'ai toujours le même problème. Je ne vais pas insister.
Si vous codez en UTF-8 veillez à ce qu'il soit sans BOM. L'idéal étant l'ASCII.
J'ai (l'éditeur) du mettre un BOM quelque part. J'ai eu un Internal Error sur le site web, ce qui veut dire que mon fichier .htaccess était mal encodé. J'ai juste supprimé le première caractère du fichier (c'est le BOM) et ca fonctionne mieux.
Ma règle ne fonctionne toujours pas. J'abandonne pour aujourd'hui Dimanche, c'est pas très grave.