Règle basique de réécriture qui ne fonctionne pas (débutant)
25 messages
• Page 1 sur 2 • 1, 2
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
Règle basique de réécriture qui ne fonctionne pas (débutant)
Bonjour à tous,
Je débute en réécriture d'url et j'avoue que malgré toutes mes recherches depuis plusieurs semaines, je bloque.
Voilà mon code dans le .htaccess qui est au même niveau que mes pages web :
C'est juste un test, pour réellement comprendre comment ça marche.
J'ai donc créé une page article.php ou j'affiche les variables comme ceci :
Mes liens sont sous cette forme :
Je souhaiterais savoir ce qui ne va pas dans ma logique s'il vous plait. Le serveur me retourne une erreur comme quoi la page demandée (en l'occurrence article-1-2.html) n'existe pas.
J'attends vos conseils. Merci
uado
Je débute en réécriture d'url et j'avoue que malgré toutes mes recherches depuis plusieurs semaines, je bloque.
Voilà mon code dans le .htaccess qui est au même niveau que mes pages web :
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ article.php?var1=$1&var2=$2 [L]
C'est juste un test, pour réellement comprendre comment ça marche.
J'ai donc créé une page article.php ou j'affiche les variables comme ceci :
- Code: Tout sélectionner
<?PHP
echo $_GET['var1'].' - '.$_GET['var2'];
?>
Mes liens sont sous cette forme :
- Code: Tout sélectionner
- <a href="article-1-1.html">Article 1.1</a><br>
- <a href="article-1-2.html">Article 1.2</a><br>
- <a href="article-1-3.html">Article 1.3</a><br>
Je souhaiterais savoir ce qui ne va pas dans ma logique s'il vous plait. Le serveur me retourne une erreur comme quoi la page demandée (en l'occurrence article-1-2.html) n'existe pas.
J'attends vos conseils. Merci
uado
-

Borower - WRInaute passionné

- Messages: 2151
- Inscription: 18 Avr 2005
Fait un test simple:
Appelle la page article.html
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^article.html$ article.php [L]
Appelle la page article.html
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
Salut,
Merci pour cette réponse rapide.
J'ai essayé de faire ce que tu m'as dit, ça ne marche toujours pas. La page n'est toujours pas trouvée par le serveur. Je suis sur que ça marche sur ce serveur (serveur de la fac, et un prof m'a dit que c'était ok).
Donc, ça ne marche même pas pour la réécriture de article.php
De plus, ça ne marche pas en local, il doit falloir activer quelque chose de supplémentaire.
PS : c'est normal que le fichier .htaccess ne soit pas visible avec un client ftp, ou directement en listant le dossier ?
Merci pour cette réponse rapide.
J'ai essayé de faire ce que tu m'as dit, ça ne marche toujours pas. La page n'est toujours pas trouvée par le serveur. Je suis sur que ça marche sur ce serveur (serveur de la fac, et un prof m'a dit que c'était ok).
Donc, ça ne marche même pas pour la réécriture de article.php
De plus, ça ne marche pas en local, il doit falloir activer quelque chose de supplémentaire.
PS : c'est normal que le fichier .htaccess ne soit pas visible avec un client ftp, ou directement en listant le dossier ?
-

correiaj - WRInaute passionné

- Messages: 1110
- Inscription: 25 Avr 2005
Quel est ton hégergeur et le type de serveur?
mod_rewrite est-il chargé?
essaye avec un / devant l´url réécrite:
RewriteEngine on
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ /article.php?var1=$1&var2=$2 [L]
Oui et le on de RewriteEngine est en minuscule...
mod_rewrite est-il chargé?
essaye avec un / devant l´url réécrite:
RewriteEngine on
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ /article.php?var1=$1&var2=$2 [L]
Oui et le on de RewriteEngine est en minuscule...
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
Bonsoir,
J'ai fait les deux modifications (le 'on' en minuscules et le '/') mais ça ne marche toujours pas.
Le serveur est un serveur MAC OS X, il est utilisé en majeure partie pour de l'hébergement web. Normalement, ça marche sur ce serveur, un prof me l'a certifié.
J'ai fait les deux modifications (le 'on' en minuscules et le '/') mais ça ne marche toujours pas.
Le serveur est un serveur MAC OS X, il est utilisé en majeure partie pour de l'hébergement web. Normalement, ça marche sur ce serveur, un prof me l'a certifié.
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
Dans le phpinfo() du serveur, le mod_rewrite est dans les 'Loaded Modules' de Apache, donc, c'est bien chargé.
Que ce soit en local ou sur le serveur, on me retourne une erreur 404. Quelqu'un a une idée ?
Je récapitule donc :
j'ai un fchier .htaccess qui contient ce code pour l'instant :
Une page menu.php contient ces liens :
Ma page article.php récupère les variables comme ceci :
Le module mod_rewrite est chargé correctement sur le serveur ainsi qu'en local.
Cependant, erreur 404 :s
Je ne comprends pas d'où ça vient.
Que ce soit en local ou sur le serveur, on me retourne une erreur 404. Quelqu'un a une idée ?
Je récapitule donc :
j'ai un fchier .htaccess qui contient ce code pour l'instant :
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^article.html$ /article.php [QSA,L]
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ /article.php?var1=$1&var2=$2 [QSA,L]
Une page menu.php contient ces liens :
- Code: Tout sélectionner
- <a href="article.html">Accueil des articles</a><br>
- <a href="article-1-1.html">Article 1.1</a><br>
- <a href="article-1-2.html">Article 1.2</a><br>
- <a href="article-1-3.html">Article 1.3</a><br>
Ma page article.php récupère les variables comme ceci :
- Code: Tout sélectionner
<?PHP
echo $_GET['var1'].' - '.$_GET['var2'];
?>
Le module mod_rewrite est chargé correctement sur le serveur ainsi qu'en local.
Cependant, erreur 404 :s
Je ne comprends pas d'où ça vient.
-

correiaj - WRInaute passionné

- Messages: 1110
- Inscription: 25 Avr 2005
Et la config de ton serveur est elle correcte? va-t´il chercher le .htaccess?
Il te faut, dans le httpd.conf:
AccessFileName .htaccess
DocumentRoot "le rep root\www"
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Est-ce que c´est bon?
A oui, pour vérifier si le .htaccess est bien utilisé par apache, il suffit de mettre une règle fausse, ce qui provoquera une erreur 500.
Il te faut, dans le httpd.conf:
AccessFileName .htaccess
DocumentRoot "le rep root\www"
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Est-ce que c´est bon?
A oui, pour vérifier si le .htaccess est bien utilisé par apache, il suffit de mettre une règle fausse, ce qui provoquera une erreur 500.
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
Not Found
The requested URL /visionair/article-1-2.html was not found on this server.
Apache/1.3.33 Server at 127.0.0.1 Port 80
Voilà ce que ça me retourne en local.
Je viens de changer le document root dans le httpd.conf et ça ne marche toujours pas.
Je ne sais pas pourquoi j'ai une erreur 404 au lieu d'une erreur 500.
The requested URL /visionair/article-1-2.html was not found on this server.
Apache/1.3.33 Server at 127.0.0.1 Port 80
Voilà ce que ça me retourne en local.
Je viens de changer le document root dans le httpd.conf et ça ne marche toujours pas.
Je ne sais pas pourquoi j'ai une erreur 404 au lieu d'une erreur 500.
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
En fait, en local, c'est http://127.0.0.1/visionair (visionair étant l'alias dans EasyPHP).
J'ai mis tous mes fichiers dans C:\Program Files\EasyPHP1-8\www\visionair
le fichier .htaccess est au même niveau que mes pages, c'est à dire : http://127.0.0.1/visionair
Sur le serveur, je suis effectivement dans un dossier : http://www.adresse-serveur.com/visionair et je n'ai la main que sur ce dossier visionair, donc, le .htaccess sera également à cette adresse : http://www.adresse-serveur.com/visionair
J'ai mis tous mes fichiers dans C:\Program Files\EasyPHP1-8\www\visionair
le fichier .htaccess est au même niveau que mes pages, c'est à dire : http://127.0.0.1/visionair
Sur le serveur, je suis effectivement dans un dossier : http://www.adresse-serveur.com/visionair et je n'ai la main que sur ce dossier visionair, donc, le .htaccess sera également à cette adresse : http://www.adresse-serveur.com/visionair
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
En ajoutant : Redirect -123265 *1236 à mon .htaccess j'ai cette erreur (en local) :
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Et c'est bien une erreur 500 pourtant.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Et c'est bien une erreur 500 pourtant.
- uado
- Nouveau WRInaute

- Messages: 41
- Inscription: 27 Nov 2005
Bonsoir
Ca marche, sans les ancrages.
Est ce que c'est grave de ne pas les mettre ?
De plus, je voudrais savoir si il était compliqué (pour un débutant) d'inclure le titre de la page dans l'url ?
http://www.monsite.php/article-titre-de-ma-page.html
Ca marche, sans les ancrages.
Est ce que c'est grave de ne pas les mettre ?
De plus, je voudrais savoir si il était compliqué (pour un débutant) d'inclure le titre de la page dans l'url ?
http://www.monsite.php/article-titre-de-ma-page.html
25 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Réécriture basique.
- Ma redirection ultra basique ne fonctionne pas
- Générateur basique de réécriture d'url IIS
- [Réglé] Exclure une URL d'une règle de réécriture
- Débutant en réécriture
- réécriture d'url débutant
- Réécriture qui fonctionne pas
- Réécriture qui ne fonctionne pas
- Ma règle ne fonctionne pas ?!
- pb de regle de réécriture
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

