mod_rewrite .htaccess

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

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 »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

.NET Developer

Functie omschrijving Net afgestudeerd en op zoek naar een leuke baan als developer? Zoek niet verder! Ik heb een functie beschikbaar als back-end developer, bij een leuk familiebedrijf. Je gaat werken met de Microsoft stack en de technieken C# en .NET. Verder maak je gebruik van MVC en Entity framework. SQL kent ook geen geheimen voor jou. Jouw verantwoordelijkheden: Nieuwe maatwerk software bouwen; API koppelingen bouwen; Applicaties en software optimaliseren; Back-end programmeren. Een erg uitdagende functie, met veel vrijheid. Je kan meerdere dagen thuis werken en als je op kantoor werkt wordt de lunch verzorgd. Heb je interesse, reageer dan

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

Bekijk vacature »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

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

25/12/2024 09:17:14
 
- 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.