Url rewrite zorgt voor uitval CSS en afbeeldingen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Wellicht hele bekende probleem.
Als ik voor een website url rewrite doet om van index.php?page=kaart te omzetten naar /page/kaart/ werkt de pagina zelf prima, maar CSS en afbeeldingen zijn weg. Een saaie witte pagina dus. De oorzaak weet ik al, de links zijn verkeerd omgeleid.

Er zijn verschillende oplossingen gegeven, maar ik heb geen succes kunnen toepassen.
De laatst bekende is een <base href="http://domein.com/"> tussen <head></head>, maar dat helpt ook niet. Het herstelt kennelijk niet.

Er is ook optie om extra regels toe te voegen in .htaccess voor files maar dat helpt ook niet.

Ik weet niet hoe ik moet herstellen. Tuurlijk kan je alles overgooien naar echte directories maar dat is nog slordiger.

Wat zou jij doen om de CSS en images links te herstellen op beste/simpele manier, zonder veel prutsen.
Ik kan niet verder gaan met een vervelend probleem.

Alvast dank.

Acties:
  • +1 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 15:53
Alle links absoluut maken; dus '/images/logo.jpg' ipv 'images/logo.jpg'

Acties:
  • +2 Henk 'm!

  • golles
  • Registratie: Maart 2007
  • Laatst online: 07-10 12:48
Je moet zorgen dat je geen url rewrite doet voor bestanden die fysiek bestaan.

Bijvoorbeeld dit in je htaccess:

code:
1
2
3
4
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /default.php [L]


De laatste regel zal in jouw geval anders zijn.

Acties:
  • 0 Henk 'm!

  • K-Jay
  • Registratie: Augustus 2001
  • Laatst online: 14:33

K-Jay

Klaas Jan

Heb je wel een RewriteBase opgegeven in je .htaccess?

Beter remmen=sneller racen: loadcellmod


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 15:53
Als je in de browser de links volgt, kloppen de links dan niet?
Of kloppen de links wel (naar goede map), maar krijg je een foutmelding op die pagina?

Acties:
  • 0 Henk 'm!

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Als ik een volledige http domein in RewriteRule doe, werkt het prima.
code:
1
2
3
4
5
6
7
8
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^page/?$ http://www.domein.nl/index.php [NC]
RewriteRule ^page/([^/\.]+)/?$ http://www.domein.nl/index.php?page=$1 [NC]
RewriteRule ^page/([^/\.]+)/([^/\.]+)/?$ http://www.domein.nl/index.php?page=$1&carid=$2 [NC]

(www.domein.nl is hier als voorbeeld, niet mijn site)
Maar nadeel is wel dat link boven in de browser verandert naar index.php? en dat is kennelijk een probleem voor Google. Die houdt kennelijk niet van veranderende links.

Ik ben nu bezig alle links te voorzien van / ervoor.
Dan blijkt het wel te werken.
code:
1
2
3
4
5
6
7
8
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^page/?$ index.php [NC]
RewriteRule ^page/([^/\.]+)/?$ index.php?page=$1 [NC]
RewriteRule ^page/([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&carid=$2 [NC]

Zo te zien gaat het goed. Ook in de browser bovenaan blijft het staan en komt goed over.

Ik ga verder hele site aanpassen voor nieuwe situatie.

Dit heeft wel een nadeel: in Dreamweaver kan ik niet meer visueel controleren. Misschien heb je een tip voor mij om alsnog visueel zichtbaar te maken in Dreamweaver?

oh ja:
code:
1
RewriteRule ^page/([^/\.]+).php?$ page/$1/ [NC]

heb ik toegevoegd om *.php links om te leiden, welke nog in site tekst zit.

[ Voor 5% gewijzigd door MrDummy op 06-02-2017 18:55 ]


Acties:
  • 0 Henk 'm!

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Ik kom alsnog javascript problemen tegen, welke door externe php bestanden te starten (die voorzien is van javascript code voor dynamische pagina) maar er gebeurt niks.

Absoluut maken path lijkt niet te helpen. Dat wordt debuggen.
Heb je ook advies voor javascript problemen?

Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 29-09 15:25
DevTools openen (F12) en kijken wat de console/netwerk-tab zeggen :)

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Ik maak gebruik van browser console in Firefox.

Daar zag ik dat bestand aanroep verkeerd gaat en gaat achter /xxx/xxx/ staan.
Maar ik heb ook ouderwetse ajax code erin, die werkt niet goed met url rewrite ondanks absoluut maken.

Ik heb even snel moderner ajax script gepakt van andere eigen site en die toegepast op de website. Ditmaal komt er keurig XHR aanroep en na wat instellen hoeft binnen php bestand geen absolute path (die php genereert javascript code btw) en werkt het weer zoals het moet. Alleen voor php openen moet wel absoluut maken met / ervoor.

Hiermee kan ik weer verder, bedankt voor een tip. Ik ga even rest aanpassen zodat het weer geschikt is voor de url rewrite.
Ook wat geleerd hoe het moet. :)
Pagina: 1