Regex variable dir met constante query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pieter raxis

pieter raxis

28/01/2020 12:35:23
Quote Anchor link
Hoi,

Leuk forum! Ik zit met een vraagje. Miss dat een die-hard regexer het zo kan invullen.

Het gaat om wordpress site met een redirect plugin (Redirections) welke regex begrijpt.
Ik heb al van alles gelezen alleen niet over een redirect met een variable directory. Het zit zo: Iedere pagina heeft een eigen path in root, zegge www.bla.nl/pagina1
, www.bla.nl/pagina2, www.bla.nl/pagina3.

Nou wil ik via instagram (facebook koppelen, instagram koppelen --> product maken (=pagina1) --> instagram post maken en product (=pagina1) taggen in post) mensen naar de site leiden.

Maarrr #1, ik laat mensen liever in de root landen en niet op een pagina1, 2 of 3. en
maarrr #2 via google moet pagina1, 2 en 3 wel indexeerbaar zijn en mensen die het adres in hun browser invoeren moeten ook op de pagina komen en niet in de root van de site.

Instagram komt binnen met

www.bla.nl/pagina1/utm_source=IGShopping&utm_medium=social
www.bla.nl/pagina2/utm_source=IGShopping&utm_medium=social
www.bla.nl/pagina3/utm_source=IGShopping&utm_medium=social

Nou moet die rexeg dus eigenlijk kunnen detecteren dat als er een vraag naar een locatie komt welke op utm_source=IGShopping&utm_medium=social eindigt dat hij het antwoord stuurd naar /.

Het lukt me wel zo als ik voor iedere pagina appart een redirect (een 307) maak maar dan komt google ook in de root uit, wordt er niets geindexeerd en kunnen mensen niet direct op bla.nl/pagina1 landen.

Dit moet vast met een simpele redirect zijn op te lossen! Alleen weet ik niet hoe. Heeft er iemand een idee?

Alvast bedankt!
 
PHP hulp

PHP hulp

07/12/2024 13:26:23
 
- Ariën  -
Beheerder

- Ariën -

28/01/2020 12:51:34
Quote Anchor link
Is er geen mogelijkheid om via GET naar de juiste pagina te verwijzen in die extentie?
Gewijzigd op 28/01/2020 17:01:20 door - Ariën -
 
Michael -

Michael -

28/01/2020 16:54:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($_GET['utm_medium']) && $_GET['utm_medium'] == 'social') {
    header('Location: ./');
    exit();
}

?>
 
Thomas van den Heuvel

Thomas van den Heuvel

28/01/2020 17:11:25
Quote Anchor link
Het beste lijkt mij nog dat je binnen je Redirections plugin uitzonderingen op de regel (regexes) kunt definiëren. Mogelijk is hier ruimte voor en anders zul je op de WordPress manier deze plugin moeten aanpassen of herschrijven.

Daarbij is het ook handig om onderscheid te kunnen maken tussen wat exact het "applicatiepad" (www.bla.nl/pagina1) en de querystring (utm_source=IGShopping&utm_medium=social) is.

Wat dat betreft zou het vele malen makkelijker zijn als deze twee gescheiden werden middels een vraagteken.

Dus:
www.bla.nl/pagina1?utm_source=IGShopping&utm_medium=social
www.bla.nl/pagina2?utm_source=IGShopping&utm_medium=social
www.bla.nl/pagina3?utm_source=IGShopping&utm_medium=social
etc.

In deze opzet zijn het ook echt valide URL's, ik weet niet of de constructie (met een forward slash) die jij (bewust?) hanteert geldig is.

Bij gebruikmaking van een ? kun je de querystring en de afzonderlijke delen makkelijk extraheren met behulp van parse_url() en parse_str(). Dit proces zou je in principe voor alle URL's kunnen inbouwen zodat je vrijwel direct de indexen en hun waarden kunt inspecteren, om vervolgens te besluiten wat je daar mee doet.

EDIT: of misschien is dat een overcomplicatie en kun je gewoon $_GET gebruiken.
Gewijzigd op 28/01/2020 17:13:27 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

29/01/2020 13:34:39
Quote Anchor link
Zie ook: https://gathering.tweakers.net/forum/list_message/61298224
Gewijzigd op 29/01/2020 13:34:54 door - Ariën -
 
Pieter raxis

pieter raxis

29/01/2020 14:52:46
Quote Anchor link
Oei, oei die php code wordt ik een beetje bang van.


Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(isset($_GET['utm_medium']) && $_GET['utm_medium'] == 'social') {
    header('Location: ./');
    exit();
}

?>


Als het ook hier ingevuld zou kunnen worden zou het perect zijn

Afbeelding
Gewijzigd op 29/01/2020 14:54:21 door pieter raxis
 
- Ariën  -
Beheerder

- Ariën -

29/01/2020 15:02:29
Quote Anchor link
Ik betwijfel of de extensie GET ondersteunt. Het kan altijd een vraag voor de maker zijn, of je kan de extensie zelf uitbreiden (forken zoals dat heet). Eventueel kan je een extra extensie maken, en het hoeft niet eens zo uitgebreid te zijn.
Gewijzigd op 29/01/2020 15:02:44 door - Ariën -
 
Pieter raxis

pieter raxis

29/01/2020 19:05:56
Quote Anchor link
- Ariën - op 29/01/2020 15:02:29:
Ik betwijfel of de extensie GET ondersteunt. Het kan altijd een vraag voor de maker zijn, of je kan de extensie zelf uitbreiden (forken zoals dat heet). Eventueel kan je een extra extensie maken, en het hoeft niet eens zo uitgebreid te zijn.


Ik heb het de maker gevraagd.


forken of iets zelf maken is een beetje abrakadabra voor me.
 
Pieter raxis

pieter raxis

30/01/2020 19:26:36
Quote Anchor link
Hoi,

Opgelost! Bedankt voor jullie bijdrage. Blijkbaar is regex, de plugin of .htacces case sensitive. Beetje lullig dat ik jullie tijd verbruikt heb. Sorry daarvoor.

Afbeelding
 



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.