Rewrite wordt aan url toegevoegd elke keer als erop link wordt geklikt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

25/01/2018 10:40:25
Quote Anchor link
Ik heb een probleem en heb geen idee waardoor het komt.

In alle browsers behalve IE en Edge werkt mijn website prima maar op laatstgenoemde browsers wordt elke keer als ik klik op een link die een rewrite in gang moet zetten de link verlengt.

Ik zal een voorbeeld geven:

info/diensten.html

rewrite naar

catlisting.php

Dat werkt prima de eerste keer wanneer erop wordt geklikt, maar wanneer ik op die pagina nog een keer op dezelfde link klik, of een andere link in het menu (zijn allemaal men u items). Dan krijg ik deze pagina:

info/info/diensten.html

En als ik op die pagina weer op dezelfde link klik, kom ik hier:

info/info/info/diensten.html

Etcetera.

Het vreemde is dat wanneer ik hover over de link, ik in het witte tekstvakje linksonderin de browser kan zien dat hij netjes linkt naar:

info/diensten.html

Zoals het moet zijn, maar dat is niet waar ik eindig door op de link te klikken.

Mijn ht access:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DirectoryIndex
RewriteEngine  on

#Indexes uitzetten
Options -Indexes

#Cross site access toestaan
Header set Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"


#sitename

DirectoryIndex index.php

RewriteRule         ^info/(.*).html catlisting.php?alias=$1 [L,QSA]
RewriteRule         ^(.*).html dienst.php?alias=$1 [L,QSA]


Het moet wel iets met de htaccess zijn want als ik het menu inspecteer via de browser dan staan alle anchor tags gewoon goed, ook als ik met een link eindig op info/info/info/info/info/blalal.html dan staat in de anchor tag nog steeds info/blalal.html

Hoe zou dit kunnen komen?

Ik heb al geprobeerd query string append uit mijn htaccess te verwijderen maar deed niks (ook geen oplossing want ik heb het nodig.)
 
PHP hulp

PHP hulp

27/11/2024 21:01:36
 
Ivo P

Ivo P

25/01/2018 11:03:10
Quote Anchor link
link eens naar een absolute path:

<a href="/info/diensten">

dus met een / voor info.

Waarom andere browsers dat wel doen zoals je wilde, is me niet duidelijk
 
Ben van Velzen

Ben van Velzen

25/01/2018 11:05:03
Quote Anchor link
Dat is niet heel vreemd als je relatieve paden in je links gebruikt.
2 mogelijke oplossingen: gebruik absolute paden (dus in plaats van info/diensten.html gebruik je /info/diensten.html) of stel een base href in.
 
Snelle Jaap

Snelle Jaap

25/01/2018 11:12:12
Quote Anchor link
Ben van Velzen op 25/01/2018 11:05:03:
Dat is niet heel vreemd als je relatieve paden in je links gebruikt.
2 mogelijke oplossingen: gebruik absolute paden (dus in plaats van info/diensten.html gebruik je /info/diensten.html) of stel een base href in.


Ik heb een base href ingesteld.

<base href="//website.nl/_extern/lbita/">

Wanneer ik een / voor de info in de url zet krijg ik een 404 page (dan neemt hij de base tag niet mee) en als ik de / achter mijn base tag weghaal dan laden mijn css/js etc niet meer.
 
Ben van Velzen

Ben van Velzen

25/01/2018 11:30:14
Quote Anchor link
Ik zei dus OF. Niet EN.
 
Thomas van den Heuvel

Thomas van den Heuvel

25/01/2018 14:37:49
Quote Anchor link
Of gebruik volledige URL's, inclusief protocol+domein. Volledige URL's zijn maar op één manier te interpreteren - deze zijn compleet ondubbelzinnig.

Zorg er dan wel voor dat je een soort van functie gebruikt om deze URL's op te bouwen zodat wanneer je je site verplaatst (naar een andere protocol, domein en/of subdirectory) dat dit een kwestie is van configuratie-parameters veranderen waar deze linkfunctie vervolgens gebruik van maakt zodat de URL's automatisch meeveranderen. Vermijd dus hardcoding zodat je je site mobiel kunt houden en deze niet verandert in een baksteen.

EDIT: ook voor ontwikkeling heeft dit voordelen: je kunt dan middels configuratie een ontwikkel- (, test-) en productie-omgeving inrichten die verder precies hetzelfde werkt. Geen omslachtige URL search-and-replaces of (nog erger?) zooi als je hosts-file aanpassen om een "live" domein te simuleren.
Gewijzigd op 25/01/2018 14:47:54 door Thomas van den Heuvel
 
Snelle Jaap

Snelle Jaap

25/01/2018 16:19:09
Quote Anchor link
Ben van Velzen op 25/01/2018 11:30:14:
Ik zei dus OF. Niet EN.


Ja en in beide gevallen werkt het niet.
 
- Ariën  -
Beheerder

- Ariën -

25/01/2018 16:30:55
Quote Anchor link
Hoe roep je dan nu je CSS en JS bestanden dan op?
 
Thomas van den Heuvel

Thomas van den Heuvel

26/01/2018 01:43:35
Quote Anchor link
Snelle Jaap op 25/01/2018 11:12:12:
Wanneer ik een / voor de info in de url zet krijg ik een 404 page (dan neemt hij de base tag niet mee) en als ik de / achter mijn base tag weghaal dan laden mijn css/js etc niet meer.


Voor hyperlinks (interne links) zou ik volledige URL's gebruiken.
Tevens een base href, met trailing slash
Voor verwijzingen naar CSS- en JavaScript bestanden relatieve URL's, met een leading slash.
Voor afbeeldingen waarnaar verwezen wordt binnen de CSS relatieve verwijzingen ten opzichte van de CSS.
Voor afbeeldingen waarnaar direct verwezen wordt binnen HTML ook relatieve URL's met een leading slash.

Als je dit stramien volgt zou je geen problemen moeten ondervinden.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.