Comment faire un rewriting avec des / ?

Bonjour à tous,

Je souhaiterai que lorsque l'on saisit monsite.com/news/idnews.html, on tombe sur la page monsite.com/index.php?page=news&id=$idnews, comment faire ?


J'ai réussi à le faire avec un tiret - comme séparateur (monsite.com/news-idnews.html fonctionne), mais pas avec un slash /..., avec la ligne suivante :


Code:
RewriteRule ^news-([0-9]+)\.html$ index.php?page=news&id=$1 [L]
 
Salut,

Il faut mettre un antislash devant le slash afin de l'"échapper".

Code:
RewriteRule ^news\/([0-9]+)\.html$ index.php?page=news&id=$1 [L]

Tiens moi au courant.

A+

Doug
 
J'avais déjà essayé, et ca marche "partiellement", car les images de la page n'apparaissent plus, et les styles css (fichier externe) ne s'affichent plus... il ne reste que le texte "BRUT" !
 
C'est normal, tu viens de créer un répertoire virtuel, il faut donc modifier le chemin de tes images et css en conséquence en rajoutant "../" par example
 
Oui en effet, tes images, css et fichiers javascript doivent être linkés sur le modèle de ton URL rewriting (à l'inverse de tes include php qui eux respectent la vraie arbo).

A+

Doug
 
Merci à tous ;)

En effet, en ajoutant "../" pour les images et fichiers externes, tout est rentré dans l'odre... sauf une chose : lorsque l'on tombe sur la page d'accueil du site http://www.monsite.com/ c le même problème qui se pose, car là, on ne spécifie aucune page, et donc, on ne fait pas appel à l'url rewriting...

Please help !! ;)
 
Fais ce que j'ai dit, mettre les urls en partant de la racine

/style.css
/images/blabla
etc...

et ca marchera très bien.
 
Ok, je viens de tester : si je met "/" au lieu de "../", je reviens au départ, ca ne marche plus du tout... :(
 
Salut,

La balise <base href=""> sert à simuler la base de ta page, c'est-à-dire l'emplacement où elle se trouve.

Exemple :

Physiquement ta page se trouve à la racine de ton site, mais tu mets entre les balises <head> et </head> la balise suivante :

<base href="http://www.example.com/sous-repertoire/">

et tous tes liens vers des pages, images, feuilles de style et fichiers javascript auront comme base relative cette adresse.

Re-exemple :

dans cette page le bon lien vers une image qui se trouve physiquement ici : -http://www.example.com/sous-repertoire/image/img1.jpg

sera :

<img src="image/img1.jpg">

et non pas :

<img src="sous-repertoire/images/img1.jpg">

Voilà, je ne sais pas si c'est clair, mais c'est en gros ça le principe :-D

A+

Doug
 
Et bien là, je dis bravo, car cela fonctionne parfaitement, avec ou sans rewriting !! :D :mrgreen:

Je vais continuer de tester, mais là, ca se semble parfait ;)
 
J'aurai encore une question, désolé... :D

Dans les expressions régulières, je sais que, par exemple, [[:alnum:]], c pour reconnaitre lettres et chiffres.

Par contre, pour reconnaitre quelque chose de la forme "titre-de-la-page-1", quelle expression faut-il adopter ?
 
C bon, g trouvé, il suffisait d'ajouter un + après [0-9a-z\-]

Merci encore à tous, j'espère ne pas vous avoir trop déranger ;)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut