url rewrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pega developer

As a Pega developer at Mandemakers in Waalwijk you will make an important contribution to the digitization of our business processes. In your role you will coordinate and attribute to all facets of the digital transformation of our company (fulltime). As a Pega developer you will make an important contribution to the digitization of our business processes. In your role you will coordinate and attribute to all facets of the digital transformation of our company. DMG, a house full of opportunities. You will take part in a great project for DMG and for Pega. You and your team will have

Bekijk vacature »

IT-traineeship Low Code Developer

Vind jij het leuk om veel contact te hebben met een klant en je te verdiepen in een domein? Lijkt het je interessant om enerzijds met de klant mee te denken, maar tegelijkertijd ook zelf een bijdrage te leveren aan de implementatie van een IT oplossing? Wij zijn op zoek naar starters die aan de slag willen als low-code engineer. In deze functie bouw je aan applicaties met behulp van een low-code platform, zoals Outsystems, Blueriq, Mendix of Pega. Dergelijke platformen stellen je in staat om snel een werkende applicatie te ontwikkelen en zijn hierdoor heel geschikt voor maatwerk projecten.

Bekijk vacature »

Frontend developer

De vacature Frontend developer/fullstacker met voorkeur voor frontend met gevoel voor design, krijgt er energie van om een mooi design neer te zetten We zijn op zoek naar een hele ervaren lead developer die heel graag bereid is om zijn kennis te delen. We zijn nu bezig om een developer 1x per week een onderwerp te laten toelichten. Functie eisen Het leuk vinden om mensen verder te helpen/leren Fijn vinden om met andere mensen samen te werken, geen einzelgänger Je moet in staat zijn om een eigen mening te hebben en te beargumenteren maar beslissen als team welke kant we

Bekijk vacature »

Junior Fullstack .NET Developer @ Regio Rotterdam

2021-10-15 iSense Junior Fullstack .NET Developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond OF heb jij middels cursussen je sporen verdiend in het programmeren en wil je graag aan de slag als Fullstack .NET Developer? Lees dan snel verder! Want in januari/februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie .NET. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE51120 Locatie Rotterdam en omstreken Wat ga je doen tijdens het Fullstack .NET Developer ontwikkeltraject? Vanaf januari/februari 2022 krijg

Bekijk vacature »

Projectcoördinator Systeembeheer

Projectcoördinator Systeembeheer&Operations (40 u) Bij Bakker&Spees ontwikkelen we slimme IT-oplossingen voor onze klanten, waaronder veel grote spelers in de infrasector. Wij zitten vol plannen en ideeën voor de toekomst. We groeien flink en daarom zoeken we een nieuwe collega die de systeembeheertaken gaat coördineren en de brug vormt tussen Systeembeheer en de gebruikers. Dacht je dat systeembeheer bij een bedrijf van 40 mensen niet uitdagend genoeg was? Maak dan eens kennis met ons 'sysadmin' team. De collega’s houden zich bezig met beheer en bouwen daarnaast zelf aan projecten. Hun taken lopen uiteen van werkplekbeheer, kantoorinfrastructuur en softwareonderhoud tot netwerk-, server-

Bekijk vacature »

Full stack developer @ Rotterdam

2020-12-18 iSense Full stack developer Full Stack Developer ISRA48618 Organisatie De organisatie waarbinnen je aan de slag zal gaan levert diensten aan een groot aantal organisaties binnen Nederland. De software die zij maken en inzetten voor hun klanten wordt dagelijks door honderden klanten gebruikt. Onze opdrachtgever is marktleider in Nederland als het gaat om full-service HR-dienstverlening. De afgelopen periode is onze klant hard gegroeid en daar zijn de nodige uitdagingen bij komen kijken. Om deze groei voort te kunnen zetten zijn ze op zoek naar nieuwe vaste medewerkers, dit om ervoor te zorgen dat ze marktleider blijven. Zij zijn op

Bekijk vacature »

programmamanager Onderzoek en Datamanagement

Geloof jij in data gedreven werken en de kracht van informatie? Ben jij een ster in het vertalen van stakeholdersvragen naar informatieproducten? Krijg jij een kick van het organiseren van veranderingen met een team van mensen? Dan zijn wij op zoek naar jou! Wat ga je doen De Nederlandse Transplantatie Stichting verzamelt en ontsluit de data van de Nederlandse donatie- en transplantatieketen. Samen met je directe collega’s ontwikkel je digitale omgevingen waarin onze stakeholders binnen het werkveld van donatie en transplantatie, meer inzicht krijgen in de verleende zorg en hun prestaties onderling kunnen vergelijken. In jouw rol als programmamanager O&D

Bekijk vacature »

Medior Java Developer

De vacature Programmeren gebeurt voornamelijk in Java, maar bij nieuwe projecten is er genoeg vrijheid om andere technieken uit te proberen en te implementeren. We staan zeker open voor verbeteringen en nieuwe ideeën! Je bent van begin tot eind bij projecten betrokken, hebt veel inspraak in de besluitvorming en kan zo een belangrijke rol spelen in de oplevering van een strak eindproduct. Aangezien we zeker wat hulp kunnen gebruiken op het gebied van het doorvoeren van IT-verbeteringen op de veilingwebsites en webapplicaties van OVM Group, zijn we op zoek naar iemand die minimaal 32-40 uur per week beschikbaar is. Een

Bekijk vacature »

.Net Developer

Do you have passion for software development? Do you enjoy guiding and inspiring junior developers by sharing your knowledge? Is it your ambition to develop into a full stack developer? Then, this is your top job! You will be a part of our development team and work closely together with the other team members. We value our codebase’s readability, maintainability, and testability and look for someone who shares these values. With more than 100 companies in different product-market combinations, no day is the same at VDL. Your role: Help our company accelerate the delivery of real impactful changes through software

Bekijk vacature »

JavaScript Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a JavaScript Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Front-End Developer at Coolblue? Read below if the job suits you.

Bekijk vacature »

Ontwikkelaar / Angular / Azure @ Rijssen

2021-10-20 iSense Ontwikkelaar Angular Azure Heb jij ervaring opgedaan met Angular en eerder ontwikkeld in Azure? Vind je het leuk om je aan te sluiten bij een kleine en groeiende organisatie? Lees dan snel verder en solliciteer! ISHA51359 Organisatie Als Developer kom je te werken bij een softwareorganisatie die sinds 2 jaar een 'eigen' bv zijn geworden met op dit moment ongeveer 11 werknemers (het moederbedrijf bestaat uit ongeveer 45 werknemers). Er wordt maatwerk geleverd voor klanten voor o.a. applicaties en hiernaast verwerken ze grote hoeveelheden data in samenwerking met het moederbedrijf. Het technische gedeelte ligt bij hen en de

Bekijk vacature »

Senior AWS Cloud Developer IoT (NL) bij PostNL

Senior AWS Cloud Developer IoT (NL) Den Haag HBO/WO IT Professional PostNL zet trackers in om de logistieke pakkettenstroom realtime te kunnen managen. Met behulp van deze trackers, ookwel beacons genoemd, wordt het mogelijk om de beweging van 250.000 rolcontainers te volgen. Deze 250.000 beacons genereren in real time miljoenen berichten per minuut. Internet of Thing (IoT) is voor PostNL dan ook een belangrijke component in het digitaliseren van het logistieke proces. Wat ga je doen? Binnen het IoT platform vertalen we inkomende dat vanuit de rolcontainer trackers, zoals aankomst- en vertrektijd vanaf een PostNL locatie, naar relevante informatie ter

Bekijk vacature »

Symphony developer

Als PHP developer bij Getnoticed werk je in een team met acht directe collega’s. Bij ons geen hiërarchie of weken beslissingstijd. Dit betekent korte lijnen en snel schakelen. Dat is ook wel nodig bij alle innovatieve projecten waar we tegelijkertijd aan werken, zoals Google Cloud Talent Solution. Jouw functie bij Getnoticed is voornamelijk het bedenken van oplossingen voor klanten, hen hierin adviseren en het schrijven van koppelingen. Je hebt hier veel vrijheid maar kunt altijd bij collega’s terecht om te sparren. In een week kun je zo voor 4 á 5 verschillende klanten werken. Dit houdt je werk afwisselend. Naast

Bekijk vacature »

Ervaren en junior Python Ontwikkelaar welkom in Ar

Bedrijfsomschrijving Onze opdrachtgever in Arnhem heeft momenteel nog plek voor zowel een junior als een ervaren Python Ontwikkelaar. Woon jij in de regio Arnhem en sta je open voor een functie met uitdaging? Dan is dit een mooie kans! Het continu ontwikkelen van nieuwe software producten en het tegelijkertijd verbeteren van de bestaande producten is wat ze bij deze Arnhemse software club dagelijks doen. Lijkt jou het gaaf om mee te denken en te ontwikkelen aan een platform waar meer dan 10.000 voertuigen per week over internet geverifieerd kunnen worden? Ben je helemaal weg van software design, web-development, schaalbaarheid en

Bekijk vacature »

Oracle apex ontwikkelaars/mid-lance/salaris tot 80

Bedrijfsomschrijving Voor een hechte groeiende IT dienstverlener die actief is binnen de Benelux ben ik op zoek naar Oracle ontwikkelaars. De organisatie waarvoor je komt te werken is echt een topwerkgever! Ze doen er alles aan om het beste uit de werknemers te halen, door werknemers te waarderen, stimuleren en te laten ontwikkelen binnen interesses en mogelijkheden. Momenteel werken er binnen de organisatie ruim 25 IT specialisten. Door een toename van de opdrachten zijn ze met spoed op zoek naar meerdere Oracle apex specialisten. De werkzaamheden kunnen voornamelijk remote/vanuit huis uitgevoerd worden. Er wordt wel verwacht dat je zo af

Bekijk vacature »
Bernhard Flokstra

Bernhard Flokstra

02/11/2017 16:06:19
Quote Anchor link
Mijn website heeft URL's die worden opgebouwd als: example.com/key/new/ & example.com/orderlist/ & example.com/users/view/

Wat ik wil is dat al deze urls verwijzen naar index.php en ik /key/new/ als GET parameter gebruiken kan. Hoe kan ik dit voor elkaar krijgen? Ik heb al ik weet niet hoe lang niet meer met URL rewrite gewerkt.

Wat ik op dit moment in .htaccess heb is het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l

RewriteRule ^ - [L]
RewriteRule ^(.*)/*(.*)/*(.*)/*(.*)/*$ index.php?a=$1
#RewriteRule ^ ([^/]+)/ index.php?a=$1
</IfModule>
Gewijzigd op 02/11/2017 16:06:38 door Bernhard Flokstra
 
PHP hulp

PHP hulp

30/11/2021 04:20:00
 
Frank Nietbelangrijk

Frank Nietbelangrijk

02/11/2017 17:34:49
Quote Anchor link
Wat je wilt zou wel kunnen maar of dat heel erg flexibel gaat worden is maar zeer de vraag.

Is dit niet een goed moment om je eens te verdiepen in een php framework? Die haalt deze zorg en andere zorgen namelijk uit je handen.

Er zijn er verschillende maar misschien is cakePHP iets voor je? Pak gewoon eens een paar tutorials op youtube ;-)

Als dat goed gaat zou ik je willen vragen (ik kan het niet laten) eens naar Symfony te kijken.
Gewijzigd op 02/11/2017 17:38:50 door Frank Nietbelangrijk
 
Rob Doemaarwat

Rob Doemaarwat

02/11/2017 19:51:18
Quote Anchor link
Meestal is het iets van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]

De staart van je URL staat nu in $_GET['url'] (in z'n geheel). In PHP kan je daar nu helemaal los mee gaan.

Je kunt ook dit doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
RewriteRule ^(.*)$ /index.php/$1 [QSA,L]

En dan staat ie in $_SERVER['PATH_INFO'] (soms ergens anders volgens mij, doe gewoon even print_r($_SERVER) )
 
Thomas van den Heuvel

Thomas van den Heuvel

02/11/2017 19:55:22
Quote Anchor link
Wauw, dat is wel een erg moeilijke manier (@TS) om alles door te sturen naar index.php?

Als je nu een alles naar index.php doorstuurt en daar de URL verder ontleedt?

Het is trouwens niet nodig om datgene wat in de REQUEST_URI zit nogmaals in een querystring-variabele te stoppen, dit is in zekere zin ook vervuiling van $_GET. Daarnaast is het dan ook niet langer intuïtief wat in $_GET zit, want normaal gesproken kun je dit gewoon in de URL zien, terwijl je in de huidige opzet dingen onderwater injecteert in $_GET. Niet doen dus!

Ik gebruik min of meer het volgende. Het kan overigens geen kwaad om e.e.a. van commentaar te voorzien zodat je na verloop van tijd nog weet waar het voor dient:
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
18
19
# Enable rewriting.
RewriteEngine on

# Optional: do not allow perusal of directories.
Options -Indexes

# Optional: explicitly enable per-directory rewrites in the .htaccess context.
Options +FollowSymLinks

# Required when not in the webroot. Always use a trailing slash.
RewriteBase /

# To be able to access existing directories and files (standalone scripts).
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# Redirect everything else to index.php.
# Add QSA to ensure that querystring variables are registered as such.
RewriteRule . index.php [L,QSA]


Vervolgens analyseer je aan de PHP-kant $_SERVER['REQUEST_URI'].

En als je geen zin hebt in een doe-het-zelf pakket dan is een framework wellicht een beter alternatief.
Gewijzigd op 02/11/2017 19:57:21 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

02/11/2017 20:12:46
Quote Anchor link
Het 'nadeel' van REQUEST_URI vind ik dat je de evt. "query string" (het stuk na een "?" in een URL) d'r ook bij krijgt. Die kun je d'r natuurlijk ook uit pulken, maar via de PATH_INFO constructie heb je daar geen last van.
 
Thomas van den Heuvel

Thomas van den Heuvel

02/11/2017 21:31:01
Quote Anchor link
Maar daarvoor zijn functies als parse_url() die tevens kijkt of een URL er een beetje fris uitziet. Daarnaast is het niet verstandig om zonder meer het querystring-gedeelte te gebruiken, omdat deze in de REQUEST_URI nog url-geëncodeerd is. Dit in tegenstelling tot $_GET en $_POST, waarin de data al url-gedecodeerd is. Voor de querystring zou ik gewoon altijd $_GET (blijven) gebruiken om deze te benaderen.

Om een schoongemaakt pad te verkrijgen, zou je zoiets kunnen doen:
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
18
19
20
<?php
// Read REQUEST_URI, suppress errors (gave E_WARNING prior to PHP 5.3.3).
$uriData = @parse_url($_SERVER['REQUEST_URI']);

$path = '';
if ($uriData === false) {
    // Do something?
} else {
    if (isset($uriData['path'])) {
        // We might be in a subdirectory of the webroot.
        // We are only interested in the part starting from this relative root.

        $path = str_replace(DIRECTORY_SEPARATOR, '/', $uriData['path']);
        $relativePath = str_replace(DIRECTORY_SEPARATOR, '/', dirname($_SERVER['SCRIPT_NAME']));
        // Strip the relative path from $path.
        $path = substr($path, strlen($relativePath));
        // Finally, strip any leading/trailing slashes so we end up with a "cleaned" path.
        $path = trim($path, '/');
    }
}

?>

Of, in het kort, zonder commentaar, kun je regels 10-17 vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$path
= trim(substr($uriData['path'], strlen(dirname($_SERVER['SCRIPT_NAME']))), '/');
?>

Bovenstaand(e) script(s) retourneren enkel het relevante (applicatie)pad, gezien vanaf de (mogelijke subdirectory vanaf de root naar de) index.php waar naar verwezen wordt via .htaccess. (multibyte karakters in de URL daar gelaten, uiteraard)

EDIT: neemt niet weg dat er andere (en even flexibele) oplossing mogelijk zijn. Zo werd hier een tijd geleden in plaats van bovenstaande .htaccess-constructie een vele malen simpelere variant geopperd met gebruikmaking van FallbackResource. Zoals altijd vele oplossingen mogelijk.
Gewijzigd op 03/11/2017 00:25:36 door Thomas van den Heuvel
 
Bernhard Flokstra

Bernhard Flokstra

03/11/2017 12:48:28
Quote Anchor link
Ik heb inmiddels gevonden wat de oplossing is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l

RewriteRule ^ - [L]
RewriteRule ^(.*)/*(.*)/*(.*)/*(.*)/*$ index.php?page=$1
</IfModule>

Dit stukje code doet precies wat ik wil.

Frank Nietbelangrijk op 02/11/2017 17:34:49:
Is dit niet een goed moment om je eens te verdiepen in een php framework?

Ik ben bekend met Symfony (1.4 nog), Zend Framework, Codeignitor en cakePhp. Maar ik heb al in geen jaren meer zelf geprogrammeerd. Ik wil dit juist doen om mijn geheugen weer op te frissen.
 
Thomas van den Heuvel

Thomas van den Heuvel

03/11/2017 14:14:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
RewriteRule ^ - [L]
RewriteRule ^(.*)/*(.*)/*(.*)/*(.*)/*$ index.php?page=$1

Dit mag dan wellicht werken, maar waarom doe je dit op de bovenstaande manier? Heb je mijn reacties gelezen?

Met name dit deel:
Thomas van den Heuvel op 02/11/2017 19:55:22:
Het is trouwens niet nodig om datgene wat in de REQUEST_URI zit nogmaals in een querystring-variabele te stoppen, dit is in zekere zin ook vervuiling van $_GET. Daarnaast is het dan ook niet langer intuïtief wat in $_GET zit, want normaal gesproken kun je dit gewoon in de URL zien, terwijl je in de huidige opzet dingen onderwater injecteert in $_GET. Niet doen dus!
Gewijzigd op 03/11/2017 14:23:09 door Thomas van den Heuvel
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/11/2017 15:56:24
Quote Anchor link
>> Ik ben bekend met Symfony (1.4 nog)

Welkom terug dan :-) We zijn inmiddels bij versie 3.3. Waarschijnlijk is er wel het een en ander veranderd. Ik ben volgens mij ergens bij Symfony 2.6 begonnen. Daarvoor ben ik dus blanco.
 
Jan de Graaf

Jan de Graaf

08/11/2017 21:56:01
Quote Anchor link
Ik heb laatst zelf een router class gemaakt waarmee je urls kunt toevoegen en die kunt bezoeken door bijvoorbeeld /contact te doen, nu is het idee dat ik een soort van simpel cms systeem wil maken. ik gebruik een functie die de naam controleert, en doormiddel van die naam de juiste dynamische content uit de database te halen. Aangezien ik dus 1 class gebruik voor alle pagina's met hetzelfde ontwerp, vraag ik mij af hoe ik een admin controller of iets kan maken waarmee ik als ik naar voorbeeldsite/admin ga dat ik dan een andere class gebruik die de admin pagina functionaliteit afhandelt. Als iemand mij wilt helpen kun je me ook vragen om mijn skype via een privé bericht.
Alvast bedankt!
 
- Ariën -
Beheerder

- Ariën -

08/11/2017 22:04:22
Quote Anchor link
Jan de Graaf op 08/11/2017 21:56:01:
Als iemand mij wilt helpen kun je me ook vragen om mijn skype via een privé bericht.
Alvast bedankt!

Je kan je vraag ook prima kwijt in een nieuw topic op dit forum. Zo kunnen meerdere mensen hun blik erop werken.
Gewijzigd op 08/11/2017 22:04:54 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

08/11/2017 22:11:27
Quote Anchor link
Je gebruikt inmiddels dus een frontcontroller/single-point-entry en je werkt al met routes maar verwijst iedere route naar dezelfde class. Dat vraagt dan om een kleine uitbreiding. Je zou het ala Codeigniter eventueel zo kunnen doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
voorbeeldsite/{controller}/{method}/{parameter}/{parameter}


Alle variabelen zijn optioneel.

voorbeeldsite/ --> ga naar DefaultController::indexAction()
voorbeeldsite/contact --> ga naar ContactController::indexAction()
voorbeeldsite/contact/confirmation --> ga naar ContactController::confirmationAction()
voorbeeldsite/admin/cms/homepage --> ga naar AdminController::cmsAction($page) (page = homepage)

Niet helemaal perfect maar het werkt.

Maar waarom kijk je niet naar een bestaande oplossing?


Gewijzigd op 08/11/2017 22:35:20 door Frank Nietbelangrijk
 
Thomas van den Heuvel

Thomas van den Heuvel

08/11/2017 22:38:21
Quote Anchor link
Frank Nietbelangrijk op 08/11/2017 22:11:27:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
voorbeeldsite/{controller}/{method}/{parameter}/{parameter}

Die opzet is niet toereikend als je vrij wilt zijn in de naamgeving van je pagina's. Houdt wel in dat je op een andere plek wat werk moet verzetten.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/11/2017 17:58:44
Quote Anchor link
>> Die opzet is niet toereikend als je vrij wilt zijn in de naamgeving van je pagina's. Houdt wel in dat je op een andere plek wat werk moet verzetten.

Klopt. Daarom mijn Edit. Gewoon leren om Composer te gebruiken en binnen vijf minuten heb je dan een prachtige router.
 



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.