url rewrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

PHP Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Full stack Developer / .NET / Angular / Azure

Dit ga je doen Jij gaat je als Full Stack .NET Developer voornamelijk bezighouden met: Het vertalen van concepten naar passende innovatieve en duurzame oplossingen; Het ontwikkelen van bedrijf kritische en gebruiksvriendelijke applicaties voor de internationale markt en intern gebruik; Bouwen aan software om het Internet of Things netwerk te ondersteunen; Het maken en onderhouden van interfaces tussen systemen aan de hand van API's; Het onderhouden en blijven verbeteren van de ontwikkelde software. Hier ga je werken Binnen deze organisatie zal jij als Full Stack .NET Developer een belangrijke rol krijgen en ga je dagelijks de uitdaging aan om maatwerk

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

(Junior) Back-end Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Altijd al willen werken bij een organisatie, die maatwerk applicaties bouwt, die echt impact hebben in de maatschappij? Dit is je kans. Voor een kleine organisatie in de regio van Eindhoven ben ik op zoek naar een C# Ontwikkelaar. Jij gaat aan de slag met de ontwikkeling van maatwerk software en applicaties. Deze organisatie werkt voor grote organisaties in Nederland, maar ook voor het MKB. De projecten waar je aan gaat werken zijn erg divers, waardoor je werk uitdagend blijft en je erg veel kan leren. Verder ga je aan

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

Bekijk vacature »

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
 
PHP hulp

PHP hulp

18/04/2024 06:50:54
 
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
 

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.