url rewrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Core Ontwikkelaar

Locatie: Veel van onze werkzaamheden voeren wij uit op ons kantoor in Barendrecht of Nieuwegein of bij onze klanten in de regio. Momenteel werken wij zoveel mogelijk vanuit huis. In de toekomst zullen we juiste balans bieden tussen thuiswerken, op kantoor en of klant locatie. Binnen het domein transport en logistiek hebben wij dagelijks te maken met uitdagende vraagstukken op onder andere het vlak van Iot. Zo ontwikkelen wij bijvoorbeeld aan een Iot oplossing waar we van ruim 200.000 machines hun telemetrie en events verwerken. Dit komt neer op 200 miljoen berichten per dag. Hierin leggen we de focus op

Bekijk vacature »

Java Developer / Interne job / Leaseauto / Groeipa

Bedrijfsomschrijving Deze ambitieuze organisatie is inmiddels 50 man groot en ze werken nationaal voor grote organisaties en instanties die hulp nodig hebben bij het ontwikkelen van diverse applicaties. Denk hierbij aan overheden, nutsbedrijven, banken, echter ook not-for-profit instellingen maken gebruik van de kennis en ervaring van de medewerkers van mijn klant. Ze ontwikkelen voornamelijk in Java en gebruiken front-end Angular. Men gaat starten met eigen interne projecten die op kantoor in Amersfoort gemaakt gaan worden. Hierdoor hoeft er dus niet naar eindklanten afgereisd te worden aangezien het een interne baan is. Ondanks dat het intern is bieden ze medewerkers die

Bekijk vacature »

IT / Netwerk specialist

Word jij onze technische IT specialist, die klantvriendelijk en oplossingsgericht is? Dan zijn wij op zoek naar jou! Wat zijn je taken? In deze functie ben je voor klanten en collega's de contactpersoon in technische vraagstukken. Je werkt zelfstandig samen met een collega aan de inrichten, onderhouden en beheer van IT-systemen bij onze klanten. Je werkzaamheden bestaan uit het installeren, beheren en optimaliseren van systemen en netwerken. Houd je bezig met de voorbereiden en uitvoeren van migraties (cloud en on premise) en ben je inzetbaar bij opslagen en calamiteiten. Wat verwachten we van jou? Je hebt ervaring met Windows Server,

Bekijk vacature »

Technische Frontend developer naast station

Bedrijfsomschrijving Deze mooie organisatie is gevestigd nabij het station en dus heel goed bereikbaar met het OV. Onze klant is de toekomst als het gaat om e-platforms! Ze behoren ondanks dat ze relatief klein zijn qua omvang tot de top wat betreft het ontwikkelen van e-platforms in Nederland! Dit is ook te leiden uit de prominente opdrachtgevers die zij hebben. Het bedrijf is zeer dynamisch en je komt in een mooi (en ook erg gezellig) kantoor te werken in een team met 5 andere professionele collega's. Samen maak je gebruik van bewezen en nieuwe technologieën om de PHP software ontwikkeling

Bekijk vacature »

Fullstack .Net Developer @ Rotterdam

2021-09-03 iSense Fullstack .Net Developer .Net Developer Back-end ISAR49919 Nieuw Organisatie Onze klant is een zakelijke dienstverlener in de regio Rotterdam, bij hun staat de medewerker centraal en daarna de klant. Ze zijn op zoek naar ervaren .Net Developers om hun klanten te helpen bij de digitale transformatie. Je gaat werken voor grote uitdagende klanten en ontwikkelen aan enterprise applicaties. Samen met het team bouw je de gewenste oplossingen. Naast het bouwen van oplossingen denk je mee met de klant en adviseer je de klant over bepaalde technische vraagstukken. De focus ligt bij deze functie vooral op de back-end. Ben

Bekijk vacature »

PHP Developer Shops United

PHP Developer Shops United Rotterdam HBO/WO IT Professional Ben jij een software developer die naast Nederlands en Engels ook PHP, MySQL, KNOCKOUT, Javascript en GiT spreekt? Dan zijn wij op zoek naar jou! Wat ga je doen? Shops United is een van de grootste e-commerce platformen voor verzendingen van pakketten binnen Nederland. Voldoende aandacht besteden aan het logistieke proces en het bijbehorende digitale proces is hierin essentieel. Shops United is expert op het gebied van pakketverzending en biedt een complete verzendoplossing voor alle pakketten in binnen- en buitenland. Parcel Pro  is onze unieke webapplicatie, uitermate geschikt voor elke webshop. Of

Bekijk vacature »

Software Developer / .NET @ Deventer

2021-06-07 iSense Software Developer .NET Ben jij een Software Developer en heb je eerder ervaring opgedaan met C#? Ben je op zoek naar een nieuwe functie en lijkt het je leuk om mee te denken en te sparren met de Lead Developer? Lees snel verder en solliciteer! ISRO49470 Nieuw Organisatie Je komt te werken als Software Engineer bij een organisatie gespecialiseerd in de Automatisering voor klanten van hen in de productiebranche. Ze zijn ongeveer 100 man groot en je komt terecht in een development team van 7 man. De wens is om dit met een developer uit te breiden; iemand

Bekijk vacature »

PHP Symfony developer

Briljante werken-bij websites voor clubs als ABN-AMRO, T-Mobile, KWF Kankerbestrijding en Boskalis. Online recruitmentmarketingcampagnes voor Waterschap Rivierenland, Randstad en VDL Nederland. Dit zijn zomaar een paar van de projecten die we al hebben binnengeharkt. En er kan nog meer bij. Welke projecten oogst jij als naam functie bij Getnoticed? Je werkt samen met je scrumteam van designers, front- en backend developers, marketeers en projectmanager bij het uitwerken van stories voor zowel klant als in-house gerelateerde projecten. Wat je werkzaamheden zoal zijn Het bedenken van nieuwe functionaliteiten Het verbeteren van het Content Management Systeem op basis van Symfony Het optimaliseren van

Bekijk vacature »

C#.Net Developer @ Regio Rotterdam

2021-06-10 iSense C#.Net Developer C#.Net Software Developer ISAR50076 Nieuw Organisation Our client is an international organization in the industrial sector, the head office is based in The Netherlands. For the R&D Deptartment, we are looking for a C#.Net Developer who likes to work with a stand alone application. You will be working in an international team with 2 other Developers, a Teamlead and external Developers. Within the R&D department, there is a wide variety of nationalities so they communicate in English. You will be part of a Scrum team and work in two weekly sprints. To strengthen the internal team,

Bekijk vacature »

QA Automation engineer

For our office in the Netherlands we are hiring a QA Automation Engineer. Tasks and Responsibilities Responsible for: Building and maintaining automated test environments for our products. Testing of web applications, combined with back-end integration testing. Write automated test plans and create, maintain, and execute test cases. Working closely with other QA engineers, system architects and developers in the Netherlands, Israel and Romania, the QA Automation Engineer handles all technical activities in relation to automated testing with full project and solution responsibility from the design phase until the phase where the software is ready to be handed over as a

Bekijk vacature »

Senior Java EE Developer

Regio: Barendrecht Binnen het domein transport en logistiek krijgen wij dagelijks complexe vragen van onze klanten. Bij en voor onze klanten gaan wij aan de slag met technische software oplossingen (geen kantoorautomatisering) voor o.a. container terminals, havenbedrijven (publieke) transport operators, distributiecentra en productiebedrijven. Je speelt een belangrijke rol in de – veelal – maatwerksoftware die we voor onder andere ECT, Atlas Copco, Kruidvat en het Havenbedrijf maken. We bouwen componenten, maar ook complete systemen die we integreren met andere systemen in veelal multidisciplinaire omgevingen. Integraties met bijvoorbeeld tablets, web portals, voertuigen en (automatische) kranen zijn niet meer weg te denken

Bekijk vacature »

BI Developer / Oracle / Internationaal @ Utrecht

2021-08-16 iSense BI Developer Oracle Internationaal Ben jij op zoek naar een dynamische omgeving om als BI Developer aan de slag te gaan? Heb jij goede kennis van Oracle BI, Datawarehouses en Oracle Data Integrator (ODI)? En pas jij dit graag toe in een innovatieve omgeving waar je voldoende uitdaging zult vinden? Reageer dan nu! ISKL48194-2 Organisatie Deze organisatie is internationaal actief binnen de zakelijke dienstverlening en heeft de kwaliteit van de IT afdeling hoog in het vaandel staan. Al vanaf de oprichting, meer dan 30 jaar geleden, heeft de IT afdeling alle systemen in eigen beheer en worden de

Bekijk vacature »

Technisch Developer

Werken aan innovatieve oplossingen die onmisbaar zijn voor iedereen en dus ook voor jou als reiziger? Als Technisch Developer bij InTraffic lever jij een waardevolle bijdrage aan de reizigerservaring! • Hoe? Door te werken aan complexe technische vraagstukken met behulp van C++. • Waarom? Om de veiligheid en doorstroom op het spoor te kunnen waarborgen. Je draagt bij aan de mobiliteit van nu en ook die van de toekomst. • Waar? Bij InTraffic in Nieuwegein, dé IT-specialist op het gebied van verkeer en vervoer. • Met wie? Je werkt in een scrumteam. Onze teams variëren van 3 tot 9 professionals.

Bekijk vacature »

Umbraco Developer @ Regio Den Haag

2021-10-06 iSense Umbraco Developer Ben jij een ervaren Full stack developer met ruime ervaring binnen een CMS systeem? En heb je ervaring met full stack development binnen een Microsoft omgeving? Lees dan snel verder! ISBA49656 Nieuw Organisatie Voor een semi-overheidsorganisatie in de regio Den Haag zijn we opzoek naar een ervaren Developer, die kennis heeft of wilt ontwikkeling op Umbraco vlak. Je zal verantwoordelijk worden voor het ontwikkelen van het huidige platforms en nieuwe web-omgevingen. Als developer binnen dit team ga je zorg dragen voor het ontwikkelen door middel van onder meer C# en Azure. Ook ontwikkel je koppelingen met

Bekijk vacature »

Senior OutSystems Developer

Wie zijn wij? In korte tijd hebben we als startup een platform ontwikkeld en in de markt gezet voor het organiseren van volledige mobiliteit van consumenten en medewerkers van bedrijven. Openbaar vervoer, deelauto’s, deelfietsen en nog veel meer kun je plannen, boeken, betalen en gebruiken met ons platform bestaande uit onder meer een app, backend en een multimodale reisplanner. Met een jong en slagvaardig team zijn we in rap tempo de markt aan het veroveren. Nu nog hoofdzakelijk in Nederland maar met grote plannen om de grens over te gaan. We zoeken naar een senior OutSystems Developer om de ontwikkeling

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

17/10/2021 14:26:50
 
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.