2009-09-16 4 views
0

J'ai besoin d'aide avec les règles de réécriture et les URL imbriquées. J'utilise TikiWiki pour mon site Web et je suis en train de mettre en place des URL conviviales SE pour mes projets. Plus précisément, j'ai la règle de réécriture suivante pour www.example.com/projects pour pointer vers une page qui répertorie tous les projets hébergés dans exemple.Règles d'URL et de réécriture imbriquées dans Apache2

RewriteRule ^Projects$ articles?type=Project [L] 

Cela fonctionne très bien.

Maintenant, je voudrais pointer www.example.com/projects/project1 pour désigner un projet spécifique. J'ai cette règle de réécriture

RewriteRule ^(Projects/Project1)$  tiki-read_article.php?articleId=6 

Cela fonctionne, mais partiellement. Le contenu est tout rendu sous forme de texte mais le thème - images/css etc, tout va pour un tirage au sort - la page est complètement dans le texte. Je comprends que cela se produit parce que les chemins relatifs dans le thème/css/images se réfèrent tous à Projets comme le dossier de base au lieu de la racine du site Web.

Je ne veux pas toucher la partie CMS - changer les chemins de thème/css/image dans les fichiers, plus pour des raisons d'évolutivité.

Quelqu'un peut-il m'aider à comprendre et à écrire une règle pour que l'URL imbriquée ci-dessus fonctionne?

Cordialement, Radha

Répondre

0

Vous devez soit modifier le CMS ou écrire règles de réécriture pour vos fichiers thème/CSS/image. Par exemple, si vos images sont dans le répertoire /images/ dans le site, essayez

RewriteRule ^Projects/(themes/.*)$ \1 

ou peut-être mieux

Alias /Projects/themes /themes 

Mais encore, je modifier la configuration CMS si elle était moi.

0

Les URL relatives sont résolues en URL absolues sur la base de l'URL de base qui correspond à l'URL du document en cours. Donc, dans votre cas, l'URL de base est /projects/project1 et non /projects bien que vos fichiers se trouvent réellement là. Parce que le client utilise uniquement des URL et n'a aucune idée sur le système de fichiers réel. Et l'URL du document actuel est /projects/project1. Par conséquent, utilisez des références d'URL avec un chemin d'URL absolu (/projects/css/…) plutôt que des références relatives.

Questions connexes