[RESOLU] URL Rewritting

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] URL Rewritting

Re: URL Rewritting

par Malcolm06 » 26 juil. 2022, 21:10

la redirection ne doit pas se faire. une page s'affiche car l'url avec article et proche de article.php alors apache renvoie article.php au lieu d'une 404, mais sans paramètre.
il faut donc vérifier si le .htaccess est au bon endroit, s'il est bien exécuté...
J'ai créé une page 404.php et j'ai redirigé les erreurs 404 vers cette page et ça fonctionne très bien !
Je pense donc pas que ce soit la position du fichier le problème

Re: URL Rewritting

par Malcolm06 » 26 juil. 2022, 21:04

la redirection ne doit pas se faire. une page s'affiche car l'url avec article et proche de article.php alors apache renvoie article.php au lieu d'une 404, mais sans paramètre.
il faut donc vérifier si le .htaccess est au bon endroit, s'il est bien exécuté...
OK pas de problème !

Le .htaccess se trouve à la racine du site du moins, je crois et le code est :

Code : Tout sélectionner

RewriteEngine on RewriteRule ^article/([0-9]+)$ article.php?id=$1 [L]
Je ne vois vraiment pas le souci, mais merci beaucoup pour les différentes aides.

Re: URL Rewritting

par or 1 » 26 juil. 2022, 14:04

la redirection ne doit pas se faire. une page s'affiche car l'url avec article et proche de article.php alors apache renvoie article.php au lieu d'une 404, mais sans paramètre.
il faut donc vérifier si le .htaccess est au bon endroit, s'il est bien exécuté...

Re: URL Rewritting

par Malcolm06 » 26 juil. 2022, 10:19

avec
RewriteRule ^toto/([0-9]+)$ article.php?id=$1 [L]
et
http://X.fr/toto/1
la page s'affiche toujours ?
La page https://X.fr/toto/1 me renvoie une erreur 404 lors du teste
La page https://X.fr/article/1 s'affiche, mais toujours sans les informations de la base de données : $_GET['id'] vide

Re: URL Rewritting

par or 1 » 26 juil. 2022, 10:00

avec
RewriteRule ^toto/([0-9]+)$ article.php?id=$1 [L]
et
http://X.fr/toto/1
la page s'affiche toujours ?

Re: URL Rewritting

par Malcolm06 » 26 juil. 2022, 08:18

'QUERY_STRING'
'REQUEST_URI'
'PHP_SELF'
'SCRIPT_FILENAME'
Merci de votre réponse,

Voici les résultats :

QUERY_STRING : no value
REQUEST_URI : /article/5
SCRIPT_NAME : /article.php
PHP_SELF : /article.php

Re: URL Rewritting

par or 1 » 25 juil. 2022, 21:56

'QUERY_STRING'
'REQUEST_URI'
'PHP_SELF'
'SCRIPT_FILENAME'

Re: URL Rewritting

par Malcolm06 » 25 juil. 2022, 21:08

et https://www.php.net/manual/fr/function.phpinfo.php en ce qui concerne les variables $_SERVER ?
Je constate bien que le id n'est pas retrouvé lorsque j'utilise https://X.fr/article/5

Quelles informations dois-je regarder ? je ne sais vraiment pas quoi regarder dans ces innombrables variables.

Merci beaucoup,

Re: URL Rewritting

par or 1 » 25 juil. 2022, 15:18

et https://www.php.net/manual/fr/function.phpinfo.php en ce qui concerne les variables $_SERVER ?

Re: URL Rewritting

par Malcolm06 » 25 juil. 2022, 09:47

var_dump() n'a pas besoin d'echo devant.

Si tu fais un var_dump($_GET) tu obtiens quoi ?
Désolé du temps de réponse,

Merci de l'info pour le echo ! :D

Quand je met var_dump($_GET);
Cela me renvoie : array(0) { }

Re: URL Rewritting

par rononedex » 24 juil. 2022, 18:17

Voilà ce que moi je ferai

Code : Tout sélectionner

#-------------------------------------------------- # Répertoire : www #-------------------------------------------------- # Le serveur doit suivre les liens symboliques : Options +FollowSymlinks AddDefaultCharset UTF-8 # Activation du module de réécriture d'URL : <IfModule mod_rewrite.c> RewriteEngine on </IfModule> #-------------------------------------------------- # Règles de réécriture d'URL : #-------------------------------------------------- RewriteBase / DirectoryIndex index.php?page=home RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f ErrorDocument 404 /error #------------------------------------------------- # Règles de base page id slug pagination #------------------------------------------------- RewriteRule ^([a-zA-Z0-9\-]+)/?$ index.php?page=$1 [NC,L] #--------------------------------------------- # Partie post etc... #--------------------------------------------- #post RewriteRule ^post/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ index.php?page=post&id=$1&slug=$2 [NC,L]
et les liens ça donnerai ça

Code : Tout sélectionner

<a href="post/<?= $works->id ?>/<?= $works->slug ?>">post</a>

Re: URL Rewritting

par @rthur » 22 juil. 2022, 17:33

var_dump() n'a pas besoin d'echo devant.

Si tu fais un var_dump($_GET) tu obtiens quoi ?

Re: URL Rewritting

par Malcolm06 » 22 juil. 2022, 12:58

J'ai testé l'outil et m'a indiqué que cela fonctionne lorsque j'utilise :

http://X.fr/article/1
1
RewriteEngine On
RewriteEngine was now turned on for the document.

2
RewriteRule ^article/([0-9]+)$ article.php?id=$1 [L]
The new url is http://X.fr/article.php?id=1
The tests are stopped because of the L in your RewriteRule options.
Cependant, sur ma page http://X.fr/article/1,
$id = $_GET['id'];
echo var_dump($id);
cela me renvoie : string(0) ""

je n'ai donc pas d'id et donc pas de contenu.

Je ne sais vraiment pas ou ça coince sur les vidéos que j'ai pu regarder, ils font la même chose et ils ont un id. :-? :-?

Re: URL Rewritting

par Malcolm06 » 22 juil. 2022, 09:31

Un petit outil pratique pour tester ses htaccess :
https://htaccess.madewithlove.com/
J'ai pas encore eu le temps de tester, mais merci, je vais tester également cet outil !!

\:D/ \:D/

Re: URL Rewritting

par @rthur » 20 juil. 2022, 10:55

Un petit outil pratique pour tester ses htaccess :
https://htaccess.madewithlove.com/