Toon posts:

[html] relatieve paden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb altijd al gewild om "wildcard mapping" te gebruiken. Dus, om niet rechtstreeks naar asp.net bestanden te linken.

Dus bijvoorbeeld linken naar een mijnsite/bla/nogwat en uiteindelijk mijnsite/default.aspx dit te laten afhandelen. Iets wat in de php-wereld vrij gebruikelijk is met een module genaamd mod_rewrite.

Nu zijn er mogelijkheden om dit binnen asp.net zelf voor elkaar te krijgen, maar uiteindelijk heb ik besloten om dit met een ISAPI module voor IIS op te lossen, en wel met de gratis "Ionic's ISAPI Rewrite Filter": http://cheeso.members.winisp.net/IIRF.aspx

Ik draai het overigens op een testserver met IIS5. De live server gaat IIS6 worden.

Alles heb ik basis geconfigureerd en het werkt goed. Alle paden die ik invoer bijvoorbeeld:

http://server/site/
http://server/site/pagina
http://server/site/pagina/0

Worden door http://server/default.aspx afgehandeld. En uiteraard worden images en stylesheet e.d. ook goed gemapped.

Maar nu heb ik een menu met relatieve links op elke pagina in de site. Die links zien er uit als volgt:
<a href=pagina1>pagina 1</a>
<a href=pagina2>pagina 2</a>
<a href=pagina3>pagina 3</a>

Als ik nu op http://server/site binnenkom, dan linken de links uiteindelijk naar:
http://server/site/pagina1
http://server/site/pagina2
http://server/site/pagina3

En dat is natuurlijk de bedoeling.

Als ik op http://server/site/bla binnenkom, dan linken de links uiteindelijk naar:
http://server/site/bla/pagina1
http://server/site/bla/pagina2
http://server/site/bla/pagina3

En dat is niet de bedoeling! Want ik wil dat ze nog steeds linken naar http://server/site/pagina1

Uiteraard zou ik dit met mijn relatieve paden kunnen oplossen als:
<a href=../pagina1>pagina1</a>
om weer op de goede locatie uit te komen, maar dat doe ik liever niet, en dat hoeft volgens mij ook niet.

Als ik bijvoorbeeld op tweakers.net navigeer naar http://tweakers.net/meuktracker/meukcat/81
Dan mappen de relatieve paden in de linkermenu's nog steeds naar de juiste relatieve locatie, zonder ../../ of iets dergelijks erin.

Uiteindelijk is in mijn geval de browser verantwoordelijk voor het mappen van links (denk ik). Het is dan ook logisch dat als ik in een pagina als site/bla/pagina1 zit, dat alle relatieve pagina's vervolgens linken naar iets als site/bla/pagina1/mijnlink.

Ik heb echter geen flauw idee waarom de browser dat niet doet bij sites als tweakers.net. Is er misschien sprake van 1 of andere header die meegestuurd wordt die dat bepaald?

Ik hoop dat iemand het antwoord weet...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Twee dingen mogelijk:

<base href=".....">
• niet-relatieve (absolute) paden ( /site/bla )

In 't geval van tweakers is het de eerste ;)

[ Voor 16% gewijzigd door RobIII op 20-12-2006 02:21 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Ik dacht dat het geen zin had om met mijn iis / isapi / asp.net te gaan zoeken in het forum. Maar php'ers hebben hetzelfde probleem, uiteraard.

Dus, volgens mij heb ik het gevonden:

<base href="http://server/site" />

Ik voel me nu best wel n00b ;)

Verwijderd

Topicstarter
Je was me al voor, maar bedankt :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dan krijg je van mij even een titlefix en een schop richting WEB* (kan voor toekomstige zoekers altijd handig zijn ;) )

* WEB omdat dit basic HTML is en niets met asp.net / mod_rewrite te maken heeft ;)

TitleFix:
[asp.net] mod_rewrite en relatieve paden probleempje >> [html] relatieve paden

Schop:
PRG >> WEB

Gebruik voortaan ook even de Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/edit.gif knop als je nog een aanvulling hebt op je vorige post en je bent de laatste poster ;)

[ Voor 52% gewijzigd door RobIII op 20-12-2006 02:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij