Bonjour à tous j'ai un problème d'url rewrite avec mon .htacces
Voici le code :
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^blog/([a-zA-Z0-9\-]+)-([0-9]+)$ blog.php?post=$2 [L]
La requette get ne fonctionne pas dans ma page blog.php.
if(isset($_GET"post"]){
fait moi ça...
}
Quelqu'un voit une erreur quelque part ?
D'avance merci pour votre aide.
Tu utilises le MVC de Grafikart ? Si oui la création de répertoire virtuel n'est pas possible en tout cas pas en ligne mais en local oui.
Ton .htaccess tu récupères seulement la deuxième parenthèse qui doit être un id j'imagine ? Dans ta variable post tu dois faire passer quoi un id ou un nom ?
Passe nous un peu plus de code du genre la condition dans le if $_GET'post']
Je ne sais pas ce qu'est le MVC de Grafikart.
En fait j'ai plusieurs réécritures d'URL de ce type qui fonctionnent, mais celle là je vois pas.
RewriteEngine On
RewriteBase /
RewriteRule ^blog/([a-zA-Z0-9\-]+)-([0-9]+)$ blog.php?post=$2 [L]
RewriteRule ^galerie/([a-zA-Z\-]+)-([0-9]+)$ photos.php?cat=$2 [L]
Pour la galerie, aucun problème mais pour le blog, ça coince.
Blog.php :
if(isset($_GET"post"]) && !empty($_GET"post"])){
echo $_GET"post"];
$sql = "SELECT * FROM blog WHERE Post_ID=".$get;
$posts = $bdd->query($sql);
}
Une idée ?
En fait j'ai une ligne
$get = $_GET"post"]
que je n'ai pas mise ici.
De toute façon le
echo $_GET"post"]
ne me retourne rien.
Je suis sur un mutualisé 1&1. Je bloque.
Je pense surtout que c'est un problème au niveau de l'url en regardant ta règle de réécriture on voit que le nom de l'article peut contenir des chiffres des lettres et des - ce qui n'est pas vraiment gênant en soi mais lorsque le .htaccess lis l'url il ne fait pas la différence entre l'id et le nom. Enfin j'en suis pas totalement sûr.
Si tu fais un
echo $_GET;
ça te donne quoi ?
Je suis sur un server mutualisé 1&1 aussi et personnellement le seul problème que je rencontre au niveau de la réécriture c'est la réécriture d'un répertoire virtuel avec un motif de conception modèle-vue-contrôleur
Salut, si l'uri contient une chaîne de requête il fallait ajouter le drapeau QSA (Query String Append).
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^blog/([a-zA-Z0-9\-]+)-([0-9]+)$ blog.php?post=$2 [L,QSA]
Pour plus d'informations sur les flags: http://httpd.apache.org/docs/current/rewrite/flags.html
Bonne chance :)
Oui c'est vrai ça j'avais oublié que pour récupérer un GET il fallait le drapeau QSA mais le truc c'est qu'il/elle dit qu'avec sa réécriture pour la galerie ça fonctionne hors les deux utilisent la variable GET.
Je ne sais pas pour toi .. mais avec mon dernier hébergement chez 1&1, je ne pouvais pas utiliser le "RewriteEngine" comme je le souhaiter sans obtenir une erreur500.
Peut-être est-ce t'on problème..