Bonjour
je souhaites effectuer une redirection en utilisant le systeme MVC "Développer un site de A à Z" en 7 jours mais je n'y arrive pas
j'ai comme route actuellement sur un vieux site des url de ce style et j'aimerai bien en conserver le référencement.

http://www.monsite.fr/photographie-artistique.php?galerie=14 et je voudrais quelle soit ainsi

http://www.monsite.fr/galerie/14/photographie-artistique
Est-ce possible avec le .php? dans l'adresse?
Merci

9 réponses


Arrows78
Réponse acceptée
RewriteRule /galerie/([0-9]+)/photographie-artistique.php photographie-artistique.php?galerie=$1

En utilisant le Rewriting URL dans ton fichier .htaccess ça devrait le faire.

fmronan
Auteur

pas possible de cette façon?

Router::connect(':slug-.php?lien:=:id','lien:([a-zA-Z0-9-]+)/view/id:([0-9]+)/slug:([a-zA-Z0-9-]+)');

fmronan
Auteur

J'ai essayé de faire un mélange entre le htaccess et la réécriture ça fonctionne pas, je doit mal m'y prendre

htaccess:
RewriteRule ^(.php?)$ $1/ [L]

routing php:
Router::connect(':slug/:lien=:id','lien:([a-zA-Z0-9-]+)/view/id:([0-9]+)/slug:([a-zA-Z0-9-]+)');

Il ne faut pas oublier ces deux lignes avant dans ton .htaccess:

Options +FollowSymlinks
RewriteEngine On

--> La 1ere ligne permet d'activer la gestion des URL symboliques et la 2nde d'activer ou de désactiver le module de réécriture

Puis tu réécris ton url avec:

RewriteRule ^"Ton nouveau chemin"$ "Ton chemin actuel" [L]

Bonjour,
normalement l'url "http://www.monsite.fr/galerie/14/photographie-artistique" n'existe pas sur ton serveur, le role du .htaccess est d'intercepter et découper ton url ce qui donne après passage dans le .htaccess http://www.monsite.fr/$param1/$param2/$param3
très souvent le parametre 1 rensiegne sur le controlleur, le parametre 2 sur la methode, le parametre 3 ( et les suivants ) sur des parametres à passer à la methode du controlleur.
Une fois que t'as découpé finement ton URL, il ne reste plus qu'a tout balancer à ton routeur.
Tu l'auras compris tout se joue au moment du découpage. travail un peu sur ta rewriteRule et tout devrait fonctioner.
PS: Il y a une video sur les URL REST c'est assez interessant.

fmronan
Auteur

donc si je comprend bien
RewriteRule ^about-$ about.php? [L]

devrai me transformer
photographie-artistique.php?
en photographie-artistique-
?
ou j'ai tous faux?*
j'ai ajouté
Options +FollowSymlinks
RewriteEngine On
mais ça ne fonctionne toujours pas
Merci de votre aide

Hmm, le but du jeu c'est que ton application crée des liens du style "www.monsite.fr/galerie/14/photographie-artistique"
ton .htaccess lui doit intercepter, et réecrire,pour qu'il intercepte il faut une expression réguliere un peu comme sa
$www.monsite.fr\/([a-zA-Z0-9]+)\/(d+)\/([a-zA-Z0-9.]+)/^
après maintenant que notre jolie url custom est récupérée, il faut appeler la porte d'entrée de l'application:
index.php/$1/$2/$3
ce qui donne
RewriteRule $www.monsite.fr\/([a-zA-Z0-9]+)\/(d+)\/([a-zA-Z0-9.]+)/^ index.php/$1/$2/$3
index.php vas appeler les controllers/methodes etc...

@Arrows78 essaye de m'aider pour le topic que je vien de poster s'il te plait..