na rewrite URL laad de CSS niet meer
ik zit met een probleem, ik heb een website in PHP gemaakt, toen ik deze online had gezet kwam ik er pas erachter dat ik met dirty URL's werkte, dit heb ik uit eindelijk kunnen rewrite naar een clean URL met deze regels in de .htaccess:
RewriteEngine On
RewriteRule ^login/?$ login.php [NC,L]
echter nu loop ik tegen het volgende probleem aan, de CSS en alle links in het HTML kloppen niet meer als ik na de clean URL ga, de CSS linkt is nu niet meer "href='stylesheetprofiel.css' " maar hij maakt er href='login/stylesheetprofiel.css' niet in de broncode, maar hij rewrite dat dus ook op de een of andere manier. Hij verwijst dus nu naar een extra map in de root genaamd "login" (die niet bestaat). Ik heb gisteren deze map aangemaakt en daar de CSS in gezet. Dan laad hij hem wel in zonder problemen, maar dit lijkt mij niet de oplossing. Ik heb ook een home knop op de "login" pagina, en deze verwijst dus nu ook naar "www.website.nl/login/login/". Ik heb echt nul verstand van .htaccess maar ik zoek dus de meest SEO vriendelijke oplossing.
Alvast super bedankt!
Ik heb zojuist voor alle path's een gezet "/" ze lijken nu gewoon te werken, hier door worden het relative URL(?). Ik durf alleen niet te zeggen of jou oplossing beter zou zijn voor de SEO. Ik zal dadelijk eens een test doen met die extra code regels.
Ze zorgen er meer voor dat bestaande bestanden en directories bereikbaar blijven.
Stel dat
www.example.com/config.php wordt herschreven naar www.example.com/index.php?page=config
maar dat er naast een index.php ook een echt bestand config.php bestaat.
Die zou nu dus "onbereikbaar" zijn omdat hij doorgesluisd wordt naar index.php.
Met mijn twee extra regels voorkom je dit. Als het bestand dan DAADWERKELIJK op de server staat wordt de url NIET herschreven. Bestaat het bestand niet daadwerkelijk op de server dan wordt de url WEL herschreven.
Ik ben er verder niet zeker van of je dit nodig hebt ja of nee
Gewijzigd op 31/05/2015 13:45:14 door Frank Nietbelangrijk
RewriteRule ^bedrijf/([a-zA-Z-+]+)/?$ index.php?bedrijf=$1 [NC,L]
antwoord al gevonden + erbij zetten.
Gewijzigd op 31/05/2015 14:36:33 door Peter van Hummol
Het toevoegen van een base tag in je HTML-document helpt ook te voorkomen dat je CSS/JavaScript in de war raakt met (relatieve) verwijzingen als je in een niet-bestaande subdirectory zit (die wordt herschreven naar iets anders).