url rewrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developers gezocht!

Wij zijn op zoek naar meerdere collega's! Heb je affiniteit en passie voor software development en wil je volop de ruimte om jezelf verder te ontwikkelen? Als IT'er bij VDL Digital draag je bij aan de ontwikkeling van functionaliteiten voor nieuwe en bestaande applicaties. Applicaties waar eindgebruikers graag mee werken. Daarnaast zijn er tal van nieuwe projecten waar je nieuwe web en mobiele applicaties voor gaat ontwikkelen en waar jij een start mee kan maken. Jouw rol: Samen met je team werk je aan verschillende projecten om zo innovatieve business applicaties neer te zetten; Je analyseert de klantvraag om vervolgens

Bekijk vacature »

Senior Java 8 Developer

Senior Java 8 Developer Intro Is your interest triggered by software and in particularly Java? Are you an experienced developer with Java? Then you could be the perfect candidate! Our client is looking for an senior Java Developer, in Eindhoven, The Netherlands. Function Information You will be end-to-end responsible for creating software in Java and Java EE, contributing to the development of several diagnostic applications in a scrum/Agile way of working. Diagnostic & Sequencing applications is done in several teams working together to deliver and integrate solutions to complex problems to enhance the diagnostic capabilities for our customers. Within one

Bekijk vacature »

Backend Developer @ Amsterdam

2021-11-19 iSense Backend Developer Ben jij een Backend Developer die graag aan de slag wil bij een van de grootste en meest gerenommeerde financiële organisaties wereldwijd? Wil jij je richten op projecten waar je van scratch af aan (inhouse) de meest innovatieve oplossingen gaat bedenken én uitvoeren voor erkende organisaties (met o.a. Python en Django)? Lees dan nu verder! ISHU51586 Organisatie Als jij een Backend Developer bent is dit jouw kans om aan de slag te gaan bij een van de grootste en meest gerenommeerde financiële organisaties wereldwijd. Met diverse vestigingen zijn ze een belangrijke speler in de financiële markt.

Bekijk vacature »

Senior Java developer

Senior Java developer Als senior Java developer in Apeldoorn ben je verantwoordelijk voor het tijdig en correct realiseren van de gevraagde functionaliteit. In je agile/DevOps-team lever je niet alleen een proactieve bijdrage aan de verschillende agile-events, maar zorg je er samen met de andere teamleden ook voor dat sprintdoelen worden gehaald. Dit doe je bij de Belastingdienst In nauw overleg met je teamgenoten kom je tot overwogen technische keuzes. Je wordt, als het nodig is of gewenst, gevraagd multidisciplinair inzetbaar te zijn. Dit betekent dat je, naast je ontwikkelwerkzaamheden, andere teamleden ondersteunt in de ontwerp- en testfase. Je gaat aan

Bekijk vacature »

Medior PHP Developer gezocht voor een snel groeien

Bedrijfsomschrijving De Organisatie waar jij komt te werken is constant bezig met het vernieuwen en ontwikkelen van innovatieve webapplicaties. Met +/- 5 mede Developers ben jij verantwoordelijk voor het onderhouden en doorontwikkelen van deze applicaties. Verder heeft deze organisatie een groot maatschappelijk belang en heb je als Developer veel ruimte voor eigen inbreng. Wekelijks groeit het aantal klanten en daarom ben ik ter versterking van het Development team op zoek naar een Medior en/of Senior Developer. Functieomschrijving Als PHP Developer ben je verantwoordelijk voor zowel de backend als de frontend. Je werkt met 4 collega's aan de doorontwikkeling van 3

Bekijk vacature »

Email Front-End Developer

Creatieve HTML-er die de mooiste mails binnen no time kan bouwen. Wat doe je als Email Front-End Developer bij Coolblue? Droom jij in HTML en CSS? Weet jij als geen ander een ambitieus email design om te bouwen naar de werkelijke email? Zwem jij graag in je code om bestaande templates net weer een beetje beter te maken? Dan zoeken wij jou. Ook Email Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen De beste campagnes opbouwen voor de belangrijkste doelen Nieuwe mail templates ontwikkelen vanuit HTML en CSS of oude

Bekijk vacature »

Java/ Cloud developer @ Amsterdam

2021-11-17 iSense Java/ Cloud developer Do you like DevOps way of working? Are you looking for an exciting opportunity where latest and greatest technologies are applied to solve everyday problems? Would you like to take responsibility in each and every step of software development lifecycle and be a part of a team that create services for the external users? Apply now!!! ISAA51764 Organization You will work in a global financial organization with a head office in the Netherlands. You will be part of one of the most important department which is the payments environment. The organization has a very strong

Bekijk vacature »

.NET developer / Azure @ Enschede

2021-11-17 iSense .NET developer / Azure Ben jij een .NET developer met enkele jaren ervaring en wil jij deze ervaring graag inzetten bij een gerenommeerde organisatie die alleen maar de meest innovatieve projecten oppakt? Heb jij interesse in IoT, AI en complexe datastromen en wil jij jezelf hier verder in ontwikkelen? Lees dan nu verder! ISHU48014 Organisatie Als .NET developer ga je samen met zes collega's werken in aan state-of-the-art oplossingen voor diverse opdrachtgevers en werk jij hard om de kwaliteit te blijven waarborgen van het geleverde werk. Denk hierbij aan het van scratch af aan bouwen van oplossingen, platformen,

Bekijk vacature »

C# developer

C# developer Als C# developer bij Profit4Cloud ontwikkel jij de back-end en soms ook front-end oplossingen van (over)morgen. We omarmen innovaties en zoeken daarvoor versterking in ons .Net-team. Je werkt samen met enthousiaste en eigenzinnige professionals. We zijn altijd bezig met 'the next big thing', of het nu gaat om het ontwikkelen van een nieuwe applicatie, het ontwikkelen van Cloud-native applicaties of het herschrijven van een bestaande. Jouw specificaties Afgeronde HBO of WO-studie in Informatica, ICT of iets wat daarop lijkt minimaal 2 jaar ontwikkelervaring C# en Javascript is jouw second nature. Angular, React of NodeJS zijn een pré Je

Bekijk vacature »

Full Stack Java Developer - Infrastructure

Ben jij een ontwikkelaar die wil bijdragen aan de applicatie ontwikkeling van klanten die zich primair bezig houden met de vitale onderdelen van Nederland, zoals transport, weg, water, spoor en gas, water en licht? Lees dan verder! Wat ga je doen? Als Full Stack Java Ontwikkelaar draag je verantwoordelijkheid voor het gehele proces van het omzetten van wensen, problemen of vragen naar concrete oplossingen. Integratie, testen, vastleggen van kennis en beslissingen, problem management en automation zijn onderdeel van je takenpakket in zowel SAFE of DevOps gestuurde omgevingen als ook in omgevingen die nog werken volgens het traditionele waterval model. Als

Bekijk vacature »

front-end developer @ Amsterdam

2021-11-15 iSense front-end developer Ben jij een gedreven Front-End ontwikkelaar en vind je het tof om een bijdrage te leveren aan het inzichtelijk maken van data en ervoor te zorgen dat de businesswaarde hierdoor gemaximaliseerd wordt? Lees dan snel verder! ISVI51733 Organisatie De organisatie is een toonaangevend bedrijf met een focus op innovatie op het gebied van Cloud platformen, Security en AI-oplossingen. Binnen de organisatie wordt persoonlijke groei gestimuleerd en zorg je er samen met jouw team voor dat opdrachtgevers, verwijderaars, eindinspecteurs en toezichthouders over eenduidige informatie beschikken. Als Front-End Ontwikkelaar zal verantwoordelijk zijn voor het ontwikkelen en/of verbeteren van

Bekijk vacature »

Senior Developer Mendix (NL) bij PostNL

Senior Developer Mendix (NL) Den Haag HBO/WO IT Professional "Wij zetten Mendix in voor onze kritieke processen om de favoriete bezorger van Nederland te zijn. We zoeken een Mendix Developer die met ons verder bouwt aan de 'digital core' van PostNL" Wat ga je doen? PostNL is a logistical tech company. Als Mendix Developer  kom je te werken in een organisatie waarbij data, technologie en een engineering culture een sleutelrol spelen. PostNL wil 'digital at the core' zijn en daarom staan we aan de voorgrond van het ontwikkelen van onze eigen logistieke software.    In de functie van Mendix Developer

Bekijk vacature »

API Developer / Red Hat Fuse @ Amersfoort

2021-05-25 iSense API Developer Red Hat Fuse Heb jij als API Developer/Integratie specialist al enige ervaring met het ontwikkelen van API's en wil jij aan de slag met nieuwe oplossingen als Red Hat Fuse en 3Scale? Lijkt het jou gaaf om aan de vooravond te staan van de implementatie van een volledig nieuw applicatiehuis met tal van koppelingen? Ga jij daarnaast graag aan de slag binnen een uitdagende omgeving waarbij je de mogelijkheid krijgt jezelf verder te ontwikkelen? Lees dan snel verder! ISKO47622 Organisatie Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met

Bekijk vacature »

Java Developer / Big Data / Microservices @ Regio

2021-02-12 iSense Java Developer / Big Data / Microservices Ben jij een ervaren Java Developer die enthousiast wordt van Big Data en Microservices? Werk jij graag met grote hoeveelheden data vanuit verschillende bronnen? Dan is dit de vacature voor jou! ISMO49008 Organisatie Bij dit grote, innovatieve technische bedrijf wil men graag flink groeien dit jaar, namelijk van zo'n 100 naar 120 mensen. In de afgelopen jaren is er hard gewerkt om een nieuw software product op de markt te zetten ter ondersteuning van hun fysieke producten en omdat dit een groot succes is, wordt het nu uitgerold over het hele

Bekijk vacature »

Full Stack Java Developer - Banking

Do you have passion for technology and innovation? Are you ready to create innovative solutions to give the financial sector a solid lead in the digital world? Your day to day activities As Full stack Java Developer you will be part of the DevOps team. With a multidisciplinary team you will - in an Agile way - be working on building new functionalities and maintaining existing features. It covers both development and operations; helping to organize the continuous delivery pipeline, connecting to back end systems, performing automated tests and shaping the front end. The high-quality solutions you deliver result in

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:11:55
 
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.