Je veux réécrire ces afin que le texte dans la barre d'adresse doit êtrerewrite monsite/ville/citiname.html à monsite/citiname.html
mysite.com/citiname.html
Je veux réécrire ces afin que le texte dans la barre d'adresse doit êtrerewrite monsite/ville/citiname.html à monsite/citiname.html
mysite.com/citiname.html
Tout d'abord, faire Assurez-vous que mod_rewrite est activé dans Apache. Assurez-vous également que
AllowOverride All
est activé dans le fichier conf. Ensuite, créez un fichier .htaccess avec le contenu suivant:
RewriteEngine On
RewriteRule ^city/([A-Za-z]+)\.html$ $1.html [L]
La première partie de la RewriteRule est le modèle. Si l'URL correspond à ce modèle, la règle est exécutée et redirigée vers la seconde partie. Le $ 1 représente le groupe correspondant à ([A-Za-z] +).
Alors /city/Amsterdam.html est réécrite pour /Amsterdam.html
(BTW, je n'ai pas une option pour le tester atm, c'est ce que je me suis souvenu des règles que j'ai écrit dans le passé)
Vous devez également rediriger pour voir la nouvelle URL. Le modificateur doit donc être [L, R = 301]. – Residuum
Je reçois erreur interne du serveur lorsque j'essaie votre code - supermac –
Aussi, vous devez échapper le: RewriteRule ^/ville/([A-Za-z] +) \. Html $/$ 1.html [L, R = 301] – Residuum