HTacces rewrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Pagina: 1 2 volgende »

Donny Wie weet

Donny Wie weet

05/09/2013 18:05:10
Quote Anchor link
Hoi allemaal,

Ik wil de url die ik krijg aanpassen. Dit kan dmv htacces. Ik heb de volgende link die ik wil aanpassen:

www.voorbeeld.nl/topics.php?id=10&titel=over%20htacces%20leren

Nu wil ik die veranderen in iets als:

www.voorbeeld.nl/topics.php/id/10/titel/over-htacces-leren

ik heb deze code:

# Displaying PHP errors
php_flag display_errors on
php_value error_reporting 6143
RewriteEngine On
RewriteBase /

ErrorDocument 404 /errorpages/404.php

RewriteRule ^id/([^\./]+)\.html /id/$1.html [L]




Dit werkt helaas niet. Wat doe ik hier verkeerd aan?
 
PHP hulp

PHP hulp

13/05/2024 23:24:57
 
Erwin H

Erwin H

05/09/2013 18:09:58
Quote Anchor link
Om te beginnen heb je een php pagina, maar probeer je een html extensie in je url te vinden.
Overigens zou ik die hele extensie gewoon weghalen uit je url. Heeft geen enkele meerwaarde en is dus eigenlijk ook url vervuiling.
 
Donny Wie weet

Donny Wie weet

05/09/2013 18:11:20
Quote Anchor link
Heb je een voorbeeld voor me?
 
Erwin H

Erwin H

05/09/2013 19:40:27
Quote Anchor link
Altijd leuk, zo'n voorbeeld in het wilde weg geven...

maar dit is hoe ik het altijd doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.* - [L]
RewriteRule ^(.*)$ index.php?route=$1 [QSA]

De eerste conditie zegt dat als de request voor een bestaande file is dan moet die aangeroepen worden. Bestaat de file niet, dan gaat de tweede in werking en die schrijft in feite de hele url om naar een parameter (route) in de url. vervolgens kan ik in php die gaan ontleden en bepalen wat er moet gaan gebeuren.

Als ik dus deze url aanroep:
http://www.domein.nl/pagina/actie/bla/bla/bla

dan wordt dat:
www.domein.nl/index.php?route=pagina/actie/bla/bla/bla
 
N K

N K

05/09/2013 20:14:11
Quote Anchor link
Ik kaap deze thread even aangezien ik precies hetzelfde nodig heb.
Bovenstaande van Erwin werkt perfect bij mij behalve als ik www.domein.nl intyp.
Deze lijkt nu niet meer naar index.php te gaan maar komt nu met (vanuit mijn script)een 404 pagina.
Kan de pagina dus niet vinden. Hoe kan ik dit voorkomen?
Onder de inhoud van mijn index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 if (!isset($_GET['p'])) {
    include "pages/home.php";
    }
else {
    $page = $_GET['p'];
    if (file_exists('pages/' . $page . '.php')) {
        include('pages/' . $page . '.php');
    }
else {
        echo "404";    
    }
    }

    ?>
Gewijzigd op 05/09/2013 20:38:34 door N K
 
Donny Wie weet

Donny Wie weet

05/09/2013 21:40:49
Quote Anchor link
Zelfde als hier: ik heb ook de error dat pagina's niet gevonden kunnen worden... De GET waarde blijft nu dus leeg
 
Erwin H

Erwin H

05/09/2013 22:06:15
Quote Anchor link
Aannemende dat je op een shared host zit en dus gebruik maakt van htaccess files:
1) Waar staat je .htaccess (zou de root moeten zijn)
2) Waar staat je index.php (zou ook de root moeten zijn)
3) Check of je een RewriteBase nodig hebt. Op shared hosts is dat vaak nodig en dan krijg je waarschijnlijk dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.* - [L]
RewriteRule ^(.*)$ index.php?route=$1 [QSA]
Gewijzigd op 05/09/2013 22:06:45 door Erwin H
 
N K

N K

05/09/2013 22:12:09
Quote Anchor link
Ik krijg mijn (php) 404 melding weer..
 
Erwin H

Erwin H

05/09/2013 22:13:06
Quote Anchor link
Laat dan eens zien wat je precies hebt.
 
N K

N K

05/09/2013 22:14:47
Quote Anchor link
hoi Erwin,

mijn index.php staat een paar berichten terug. Of wil je iets anders zien?
De .htaccess staat in mijn root samen met index.php
htaccess:


RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.* - [L]
RewriteRule ^(.*)$ index.php?p=$1 [QSA]
Gewijzigd op 05/09/2013 22:17:13 door N K
 
Donny Wie weet

Donny Wie weet

05/09/2013 22:15:57
Quote Anchor link
ik heb dit:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.* - [L]
RewriteRule ^(.*)$ events.php?event=$1 [QSA]

Als ik die rewritebase erin zet doet mn site het niet meer
 
Erwin H

Erwin H

05/09/2013 22:23:46
Quote Anchor link
@N K
ok, dan is het probleem (denk ik) duidelijk. Je moet namelijk wel goed begrijpen hoe die rewrite rule werkt. Elk request zal verwijzen naar dezelfde index file, met een get parameter. Als je dus naar www.domein.nl gaat, dan wordt dat herschreven naar www.domein.nl/index.php?p= je parameter p blijft dus leeg (er is verder geen route). In je index file vang je dat echter niet af. Je checkt op het niet bestaan van de parameter of anders op file_exists('pages/' . $page . '.php') (wat in dit geval 'pages/.php' wordt). Beide zijn niet correct en dus krijg je die 404 pagina.
Je zal dus nog de optie voor een lege parameter moeten opnemen.

@Donny
Wat gaat er bij jou dan mis? Je zegt dat er pagina's niet kunnen worden gevonden, maar dat is een beetje te weinig info voor mij om te kunnen zien wat er dan misgaat. De rewitebase heb je dus blijkbaar niet nodig.
Wat overigens nog een goede optie om je rewrite te testen, is om gewoon in je index file even de $_GET array te printen naar het scherm. Dan zie je precies welke rewrite goed gaat en welke niet. Als er dan een pagina niet gevonden kan worden, maar die GET array zie je wel, dan weet je dat het misgaat in je php stuk.
 
Donny Wie weet

Donny Wie weet

05/09/2013 22:28:36
Quote Anchor link
Oke, ik heb de print gedaan. De GET waarde bevat nu Array ( [event] => events/event/26 ). Normaal bevat het alleen het getal.
 
N K

N K

05/09/2013 22:31:25
Quote Anchor link
@Erwin

Thanks, ik dacht al zoiets maar je hebt me helemaal in de goede richting geholpen.

Heb nu dit wat werkt:
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
<?php
    // Include Pages
    if (!isset($_GET['p']) || empty($_GET['p'])) {
    include "pages/home.php";
    }

    else {
    $page = $_GET['p'];
    if (file_exists('pages/' . $page . '.php')) {
        include('pages/' . $page . '.php');
    }
else {
        echo "404";    
    }
    }

?>
 
Erwin H

Erwin H

05/09/2013 22:31:31
Quote Anchor link
@Donny
Zoals ik hierboven al zeg, je moet goed begrijpen hoe het werkt. Elk request dat er nu gedaan wordt gaat naar dezelfde index file, met het volledige pad in de opgegeven GET parameter. Je zal dus in php dat pad moeten gaan 'lezen' om te zien wat je moet doen. Het grote voordeel is dat je elke route nu dynamisch kan bouwen.
Gewijzigd op 05/09/2013 22:31:56 door Erwin H
 
N K

N K

09/09/2013 23:29:13
Quote Anchor link
Lastige materie dit..
Ik wil graag een GET parameter erbij hebben. Heb aardig wat gelezen maar kom er niet uit i.c.m. onderstaand voorbeeld.

Ik heb nu dit:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.* - [L]
RewriteRule ^reset_password/(.*)$ index.php?p=reset_password&token=$1
RewriteRule ^(.*)$ index.php?p=$1 [QSA]

Op zich werkt dit wel maar al mijn paden binnen reset_password.php kloppen nu niet meer.
Bijv. bij een css bestand in deze pagina ziet het pad er nu uit als
http://localhost/site/reset_password/css/style.css
Terwijl het moet zijn
http://localhost/site/css/style.css

Kan iemand mij de juiste richting op helpen?
Gewijzigd op 09/09/2013 23:29:52 door N K
 
Erwin H

Erwin H

09/09/2013 23:38:41
Quote Anchor link
Maar dit is zo te zien een probleem van je urls opbouwen, niet van htaccess.
 
N K

N K

10/09/2013 10:58:55
Quote Anchor link
Mmm, hoe bedoel je?
Vanuit index.php haalt mijn script de pagina op die in mijn GET['p'] staat.
Al deze pagina's bevatten relatieve paden bijv. css/style.css.

Vanuit mijn email wil ik naar site/reset_password/25f2vrggg43g34 (waarbij dat laatste de value van de token is) kunnen. Kan het zijn dat mijn script op index.php niet goed werkt in combinatie met de .htaccess?
 
Erwin H

Erwin H

10/09/2013 11:12:31
Quote Anchor link
De url die je geeft (http://localhost/site/reset_password/css/style.css) is niet herschreven door je htaccess, maar maak jij. Het gaat dus niet goed in het maken van je urls. Nogmaals, dat heeft niets met htaccess te maken.

Als het fout gaat door de relatieve paden, dan moet je of die relatieve paden loslaten, of een base pad opnemen in je html document.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<base href="http://www.domein.nl/">

De relatieve paden worden dan gebouwd vanaf dat pad en niet vanaf de url.
 
N K

N K

10/09/2013 18:49:51
Quote Anchor link
Okee, die base href werkt in ieder geval (DANK!) maar het smaakt een beetje als een workaround.

Ik vind het irritant dat ik niet snap waarom dit verkeerd gaat..;-)

Wat is het verschil tussen deze twee links?
http://localhost/site/reset_password/7c28f11d77f2f89e
http://localhost/site/login

Beide pagina's (reset_password en login) staan in dezelfde map (pages) en hebben dezelfde paden gedefinieerd.
Bij de eerste is er alleen een GET parameter toegevoegd.(token)

Toch probeert hij (bijv. een CSS bestand) bij de eerste vanuit een reset_password map te benaderen wat fout gaat.
Bij de tweede is dit gewoon zoals het hoort vanuit de root.
In beide scripts staat <link rel="stylesheet" href="css/style.css" />

Ik ben echt benieuwd waar ik dan de mist in ga..

(P.S.
is mijn htaccess regel wel goed? :
RewriteRule ^reset_password/(.*)$ index.php?p=reset_password&token=$1
Deze heb ik zelf in elkaar geknutseld maar ik mis hier nog de nodige kennis in..)
 
Erwin H

Erwin H

10/09/2013 19:47:45
Quote Anchor link
Het heeft niets te maken met een workaround, het heeft ermee te maken dat de browser niet weet waar het pad naar toe gaat. De browser berekent relatieve paden vanuit de url. Waarbij de laatste backslash als root wordt genomen.
Met jouw voorbeelden (let ook op de eerste twee!):
relatieve pad: css/style.css
url: http://localhost/site/login -> http://localhost/site/css/style.css
url: http://localhost/site/login/ -> http://localhost/site/login/css/style.css
url: http://localhost/site/reset_password/7c28f11d77f2f89e -> http://localhost/site/reset_password/css/style.css

Voor de browser klopt dit, maar door het rewriten van je urls klopt het voor jouw server niet meer. Daar is de root altijd http://localhost/site/
Vandaar dat je de browser even moet helpen om de root correct te krijgen en dat doe je met die <base>.
N K op 10/09/2013 18:49:51:
Beide pagina's (reset_password en login) staan in dezelfde map (pages) en hebben dezelfde paden gedefinieerd.
Bij de eerste is er alleen een GET parameter toegevoegd.(token)

Dat is niet waar. Je het er geen GET parameter aan toegevoegd, je hebt er een map aan toegevoegd. En dat is nu net het probleem. Een GET parameter komt na het vraagteken en daar zou de browser ook niet over vallen. Die extra 'map' wordt pas na het rewritten weer een GET parameter, maar dat weet de browser dus niet.



Toevoeging op 10/09/2013 19:49:36:

N K op 10/09/2013 18:49:51:
(P.S.
is mijn htaccess regel wel goed? :
RewriteRule ^reset_password/(.*)$ index.php?p=reset_password&token=$1
Deze heb ik zelf in elkaar geknutseld maar ik mis hier nog de nodige kennis in..)

Als het werkt, werkt het, maar ik zou het niet doen. Ik zou gewoon bij de algemene blijven die ik boven heb gegeven en in je php script die route gaan interpreteren. Hoe meer uitzonderingen je al in de htaccess maakt, hoe inflexibeler (en lastiger te onderhouden) het wordt.
 

Pagina: 1 2 volgende »



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.