im essayant d'écrire un script, qui peut réécritures urls de façon limace, comme ceci:comment générer des limaces en php
http://www.mysite.com/mystorytitle/
et je l'ai fait dans mes codes:
RewriteRule ^(.*)\/$ app=News&file=article&title=$1 [L]
et dans mes codes php, je créé une limace sur le titre de l'histoire comme:
$slug_title = mysql_real_escape_string($mtitle);
$show= "<a href=\"$slug_title/\">$mtitle</a>";
maintenant tout va bien sauf si je clique sur le lien slugged, il va à la page mais sans aucun style et javascripts et images.
Je suis sûr que le problème est dû au fait de chemin pour les fichiers CSS et ... qui a changé été un niveau
que je suis dans ce chemin: http://www.mysite.com/ایمیل/
donc si la page nécessite css fichier comme ceci:
<link rel="StyleSheet" href="includes/NAV.css" type="text/css" />
un niveau changé et de faire cela a fonctionné, je devrais revenir un niveau:
<link rel="StyleSheet" href="../includes/NAV.css" type="text/css" />
je suppose, cela est concidered comme un dossier et non un chemin réécrite
, mais je suis sûr qu'il devrait y avoir une autre façon de faire ce travail de script sans changer tous les chemins
merci à l'avance
Soit dit en passant, 'mysql_real_escape_string' est la mauvaise évasion pour mettre du texte en HTML. C'est seulement pour les requêtes MySQL et ne vous protégera pas de l'injection HTML (XSS). Vous devriez utiliser 'htmlspecialchars' à la place, pour' $ mtitle'. Idéalement, vous devriez aussi utiliser 'urlencode' pour' $ slugtitle', afin qu'il fonctionne comme un ancien URI simple ainsi qu'un IRI. – bobince
sur quelle base vous dire que urlencode est bien mieux que mysql_real_escape_string, BTW lors de l'utilisation urlencode il ajouterait "+" au titre –