Diazo + Apache + mod_transform: thema `/` anders dan andere paden

Ik gebruik Diazo (voorheen XDV) om een ​​aantal interne websites te thematiseren, met behulp van Apache en mod_transform_html . Ik hoopte dat ik meerdere verschillende thema's kon gebruiken door TransformSet -richtlijnen in Locatie -richtlijnen te plaatsen, zoals deze:


   TransformSet /themes/blog.xsl



   TransformSet /themes/main.xsl

Helaas lijkt het erop dat de TransformSet -richtlijn voor / altijd voorrang heeft. Ik heb dit voorlopig opgelost door inhoud van / naar /main te verplaatsen en toe te voegen:

RewriteRule ^/$ /main/ [R]


   TransformSet /themes/main.xsl

Dit werkt, maar ik zou liever in staat zijn om deze inhoud gehost op / te hosten.

Dus ... is er een manier om een ​​transformatie die is toegepast op / te overschrijven? Dit soort dingen lijkt te werken voor andere Apache-configuratierichtlijnen (bijv. ProxyPass ).

0

1 antwoord

Ik ben er nooit in geslaagd de paramater-ondersteuning voor mod_transform af te maken, maar als je kunt kiezen tussen thema's op basis van pagina-inhoud, zou je iets kunnen gebruiken als:


  <theme href="blog.html"/>
  ...


  <theme href="main.html"/>
  ...

This reminds me I should add an if-not-content so you can use a CSS selector there. For more, see: http://diazo.org/advanced.html#multiple-conditional-themes

Het is misschien eenvoudiger om in plaats daarvan LocationMatch te gebruiken voor het hoofdthema, zoiets als:


   TransformSet /themes/main.xsl

Dat zou voorkomen dat beide TransformSet-richtlijnen op hetzelfde verzoek van toepassing zijn.

0
toegevoegd
Ik had echt geëxperimenteerd met de if-content -richtlijn, maar het leek erop dat dingen uiteindelijk rommelig zouden worden. Het zou veel handzamer zijn om de transformaties in afzonderlijke bestanden te bewaren. Ik zal de oplossing LocationMatch uitproberen.
toegevoegd de auteur larsks, de bron
Is het feit dat TransformSet op een subpad de instelling voor / niet overschrijft een algemeen Apache-item? Of kan dit worden opgelost in mod_transform ?
toegevoegd de auteur larsks, de bron
Ik weet niet of het correct is of niet, maar deze patch past het gedrag zodanig aan dat TransformSet op een ondergeschikt pad heeft voorrang op één set op een pad van een hoger niveau.
toegevoegd de auteur larsks, de bron
De omstandigheden lijken redelijk goed te werken voor nauw verwante thema's die veel van hun regels delen, b.v. een standaardpagina en een voorpagina. Met volledig niet-gerelateerde pagina's wordt het rommelig. Deliverance heeft geprobeerd dit op te lossen met 'paginaklassen' ( packages.python .org/Deliverance/& hellip; ) en misschien hebben we iets soortgelijks nodig voor Diazo, samen met iets dat zich vertaalt naar een .
toegevoegd de auteur Laurence Rowe, de bron
Ik vermoed dat het in mod_transform opgelost zou kunnen zijn (misschien door de richtlijn op een andere manier te definiëren.) Ik zou hier zeker een patch voor bekijken.
toegevoegd de auteur Laurence Rowe, de bron