Je dispose d'un fichier htaccess qui associe htaccess rewrite casse des chemins relatifs
http://www.myserver.com/home/à
http://www.myserver.com/index.php?section=home
Cette partie fonctionne très bien. La question que je suis confronté est maintenant, toutes mes images et css résident dans un sous-dossier nommé actifs, à savoir
http://www.myserver.com/assets/images/
http://www.myserver.com/assets/css/etc.
Après la redirection du navigateur recherchera les fichiers sous
http://www.myserver.com/home/assets/images/qui provoque des choses à briser, comme Ce n'est pas un chemin valide.
Je suis en mesure d'ajouter une autre réécriture qui mappe ci-dessus pour le sous-dossier correct, cependant, Firebug montre que les images résident dans:
http://www.myserver.com/home/assets/images/
Je sais que ce n'est pas vraiment un problème, après tout, mes images et css se chargent très bien avec cette règle. Je suis juste curieux de savoir comment je pourrais faire le chemin indiqué pour être le chemin réel, qui est:
http://www.myserver.com/assets/images/
Collage mon fichier htaccess ci-dessous. Merci beaucoup d'avance.
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([^/]+)/assets/(css|images|js)/(.*)$ /assets/$2/$3 [NC,L]
RewriteRule ^([^/]+)/$ /index.php?section=$1 [NC,L]
Je tentais de ne pas avoir à aller le chemin de la conversion de tous mes chemins relatifs à absolu, mais hélas, je pourrait juste devoir maintenant. Là encore, j'ai complètement oublié le tag
! Cela a fonctionné comme un charme. Merci Gumbo, apprécie-le. – irot@irot: Notez encore que la modification de l'URI de base à l'aide de BASE affecte tous les URI relatifs et pas seulement ceux ayant des chemins relatifs. – Gumbo
Il affecte également les étiquettes d'ancrage avec des hachages. Toute balise d'ancrage avec un attribut href comme "#content" se résoudra à l'URL de base et non à la page en cours. – VirtuosiMedia