mod_rewrite .htaccess

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

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

04/05/2024 04:45:50
 
- 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.