mod_rewrite .htaccess

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »
Maarten van Rijssel

Maarten van Rijssel

26/10/2015 23:18:16
Quote Anchor link
Heeft er iemand verstand van mod_rewrite in je .htaccess bestand, ik niet namenlijk, als je nu naar http://dreamcraft.maartenr.nl/ gaat zie je nog overal index.php?page=page staan o.i.d, dat moet omgezet worden naar /page

Ik heb vanalles gegoogled maar ben er niet uigekomen, er zijn 1400 voorbeeld scripts maar ze werken allemaal weer half,

Klein detail, alle pagina's zijn variable, dus ze stuk voor stuk rewriten in.htaccess heeft weinig zijn

Wie weet hoe dat moet, thats the question
 
PHP hulp

PHP hulp

23/11/2024 06:17:06
 
- Ariën  -
Beheerder

- Ariën -

26/10/2015 23:48:52
Quote Anchor link
Welke heb je al geprobeerd?

Verder moet je wel zelf de nieuwe URL's in je linkjes plaatsen.
 
Thomas van den Heuvel

Thomas van den Heuvel

27/10/2015 00:09:00
Quote Anchor link
Je zou deze thread eens door kunnen lezen voor inspiratie.

Zoals daar wordt aangegeven sta je voor een aantal uitdagingen:
1. het vertalen van een interne URL naar een schone URL,
2. het (terug)vertalen van een schone URL naar een interne URL en
3 (wat nogal eens vergeten wordt) een middel om je interne links consistent te houden.

Wat ik zou doen is één RewriteRule schrijven die ervoor zorgt dat alles wordt doorgestuurd naar index.php, vervolgens kun je daar $_SERVER['REQUEST_URI'] ontleden en bepalen welke pagina er opgevraagd werd.

Op die manier leg je de controle aan de PHP-kant, zodat je (inderdaad) niet eindeloos alles in je .htaccess bestand hoeft te frotten.
Gewijzigd op 27/10/2015 00:10:20 door Thomas van den Heuvel
 
Maarten van Rijssel

Maarten van Rijssel

27/10/2015 08:02:14
Quote Anchor link
Thomas van den Heuvel op 27/10/2015 00:09:00:
Je zou deze thread eens door kunnen lezen voor inspiratie.

Zoals daar wordt aangegeven sta je voor een aantal uitdagingen:
1. het vertalen van een interne URL naar een schone URL,
2. het (terug)vertalen van een schone URL naar een interne URL en
3 (wat nogal eens vergeten wordt) een middel om je interne links consistent te houden.

Wat ik zou doen is één RewriteRule schrijven die ervoor zorgt dat alles wordt doorgestuurd naar index.php, vervolgens kun je daar $_SERVER['REQUEST_URI'] ontleden en bepalen welke pagina er opgevraagd werd.

Op die manier leg je de controle aan de PHP-kant, zodat je (inderdaad) niet eindeloos alles in je .htaccess bestand hoeft te frotten.

Dankje, dit is wat ik nodig had, het is gelukt
 
Maarten van Rijssel

Maarten van Rijssel

28/10/2015 09:35:57
Quote Anchor link
Ik loop onderhand tegen het volgende probleem aan,
Het is me gelukt om /index.php?page=about om te zetten naar /about
Nu wil ik alleen dat waneer ik /about/about-me typ hij het omzet naar index.php?page=about&action=about-me
Wie weet hoe dat moet en hoe ik dan in de html een link moet typen, ik weet dat wanneer je de eerste methode gebruikt je href moet wijzen naar /about maar hoe zit datbij twee link.

Mijn .htaccess nu:
Quote:
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]

RewriteRule ^(.*?)$ $1 [L]
RewriteRule ^(.*?)/(.*?)$ $2 [L]
RewriteRule ^(.*?)$ index.php?page=$1 [L]
RewriteRule ^(.*?)/(.*?)$ index.php?page=$1&action=$2 [L]

ErrorDocument 404 /404.php
 
Thomas van den Heuvel

Thomas van den Heuvel

28/10/2015 14:19:05
Quote Anchor link
Mja, dat gevalsonderscheid kan een machine of mens niet maken tenzij je dit zelf inbouwt.

Dus dat als je een URL van de vorm a/b hebt, er bijvoorbeeld:
- eerst gekeken wordt of er een pagina a/b bestaat,
- en anders een pagina a bestaat (met actie b)
- of alles expliciet opslaat (zie hieronder)

Ik denk dat je het probleem toch min of meer zelf hebt geïntroduceerd in je RewriteRules: je schrijft daar heel specifiek voor wat welk onderdeel betekent (of zou moeten betekenen dus), en vervolgens stop je elk van die onderdelen in een vakje (van de querystring $_GET). Het probleem is nu dat onderdelen in verkeerde vakjes terecht komen.

In zijn algemeenheid is het zo dat je RewriteRules "van specifiek naar algemeen" opstelt, want de eerste regel die (ook in jouw opzet) voldoet wordt gebruikt om de URL te herschrijven en daarna houdt het herschrijf-proces op door de [L] flag achter je Rule. Ik zou dus eigenlijk bovenstaande RewriteRules verwachten in de omgekeerde volgorde.

Maar het kan allemaal veel simpeler.

Het eerste minpunt -zoals ik het zie- in bovenstaande RewriteRules is dat je expliciet querystring-variabelen "claimt" voor het herschrijfproces. Deze zijn dus gereserveerd en kan je niet meer voor andere doeleinden gebruiken. Nu zullen er altijd van dit soort variabelen zijn, maar het is dan beter dat deze ook zichtbaar zijn (hierover later meer).

Als je deze restricties nou eens loslaat? Wil je per sé "action" onderdeel uit laten maken (in een nette vorm) van je URL? Waarom? Deze acties lijken mij vaak pagina-weergaven die toch niet gecrawled worden? Vraag je ook af waarom deze pagina's een nette URL nodig zouden hebben en of dat uberhaupt wel nut heeft.

Zoals ik al eerder aangaf: als je alles doorstuurt naar index.php kun je daar eenvoudig afleiden welke pagina je wilt bekijken. Met behulp van parse_url() van je REQUEST_URI (dit alles staat precies beschreven in het verwijzende artikel) kun je enerzijds je path bepalen en je action zit (en blijft gewoon) in $_GET (zitten). Het is in het geheel niet nodig om hiervoor querystring variabelen te reserveren/claimen via je RewriteRules.

En ja, als je toch wilt volharden in je opzet, zul je alle volledige URL's moeten opslaan in een lijst, waarbij je aangeeft wat het pad is, en hoe de bijbehorende parameters luiden (en wellicht ook welke bijbehorende code er uitgevoerd dient te worden). Dit zul je dus expliciet moeten doen, hiervoor kun je moeilijk/geen generieke regels gebruiken want dan loop je tegen de overlap in de scheiding tussen deze twee aan, dit probleem ondervindt je nu al.

Ook zul je dan op het volgende moeten letten, als je zoiets hebt:
/poll/delete?id=12
en dit wordt intern vertaald naar
/index.php?page=poll&action=delete&id=12
maar je roept dit aan via (ik zou niet weten waarom maar goed)
/poll/delete?id=12&action=hallo
welke action heeft dan voorrang, of liever gezegd, welke action-waarde zit in $_GET. Dit is niet meer evident! Je kunt niet meer uitgaan van wat je ziet (en dat is het tweede minpunt). Je zou in eerste oogopslag verwachten dan $_GET['action'] de waarde "hallo" bevat, maar deze is dus "delete" middels je RewriteRules. Maar dit wordt dus volstrekt niet duidelijk uit je URL en achterhaal je meestal pas na een debug-sessie van $_GET. Dit lijkt mij allesbehalve intuïtief werken.

Daarnaast, bovenstaande URL is een URL aan de beheerkant, dus die wordt niet gecrawled.

Anyway, ik zou het gewoon simpel houden.
Gewijzigd op 28/10/2015 15:00:59 door Thomas van den Heuvel
 



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.