Bonjour,
J'ai développer un forum en PHP en me basant sur des tutoriels.
J'utilise url encode pour les urls suivantes:
forum_topics.php?categorie=forum&souscategorie=information-news-forum
ainsi que topic.php?titre=bienvenue-sur-forum&id=2
Vous allez donc me dire, mais c'est simple, le soucis et que je n'y arrive pas je voudrais pour le premeir lien comme url:
www.monsite.com/forum/information-news-forum
Pour les topics:
www.monsite.com/topic-bienvenue-sur-forum-2
Voici mon htaccess:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([a-z]+)/([a-z]+)$ /forum_topics.php?categorie=$1&souscategorie=$2 [L
Cela ne fonctionne pas, j'obtien un 404 not found, je pense pourtant que ma syntaxe est correct ?
Merci.
Tu a des tiret dans tes url il faut dire a htaccess que tu accepte les tiret [a-z\-]
je te rassure moi aussi ce n'est pas ma tasse de thé les rewrite d'ailleur tu na pas besoin du /
devant ton url
ça devrais faire un truc du genre RewriteRule ^([a-zA-Z\-]+)/([a-zA-Z\-]+)$ index.php?page=$1&slug=$2 [NC,L]
Salut,
Petit conseil : ajoute /?
avant ton $
. Le point d'intéroggation signifie que le /
est optionel. Aussi, il existe des outils en ligne pour tester ses regexs (e.g regex101) et d'autres pour tester des .htaccess entier (e.g htaccess tester).
J'en ai profité pour amélioré le mien donc si ça peut t'aidé
Merci a tleb pour ton astuce /?
#--------------------------------------------------
# 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
#-------------------------------------------------
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?page=$1 [NC,L]
RewriteRule ^home/page/([0-9]+)/?$ index.php?page=home&pager=$1 [NC,L]
RewriteRule ^([a-zA-Z\-]+)/([0-9]+)/?$ index.php?page=$1&id=$2 [NC,L]
RewriteRule ^([a-zA-Z\-]+)/([a-zA-Z\-]+)/?$ index.php?page=$1&slug=$2 [NC,L]
RewriteRule ^([a-zA-Z\-]+)/([0-9]+)/([a-zA-Z0-9\-]+)/?$ index.php?page=$1&id=$2&csrf=$3 [NC,L]
RewriteRule ^([a-zA-Z\-]+)/([0-9]+)/([a-zA-Z0-9\-]+)/?$ index.php?page=$1&id=$2&token=$3 [NC,L]
RewriteRule ^([a-zA-Z\-]+)/topic/([0-9]+)/page/([0-9]+)/?$ index.php?page=$1&id=$2&pager=$3 [NC,L]
# cash image
#RewriteRule ^images/(.*)\-([a-f0-9]+)\.(jpg|png)/?$ views/images/$1.$3 [QSA,NC,L]
# cash css
#RewriteRule ^css/(.*)\-([a-f0-9]+)\.css/?$ views/css/$1.css [QSA,NC,L]
# cash JS
#RewriteRule ^js/(.*)-([a-f0-9]+).js/?$ views/js/$1.js [QSA,NC,L]
#--------------------------------------------------