HTacces rewrite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

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 »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

Python (Django) developer - Remote in The Netherla

Functie Together with your team, consisting of a senior, 2 mediors and one junior developer, you will work on their software in an Agile-based approach. You have an eye for quality, risk, and customer interest. Communication with your colleagues and, where necessary, with customers, plays an important role in achieving a successful result. As a person, you are smart, get things done, and are result-oriented. There is a lot of independence within the development team, apart from the stand-up (10:00 am) and occasional pair-programming sessions. Techniques they use include Python, Django, MySQL, Mercurial, Ubuntu Linux, Nginx. In terms of front-end

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 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 »

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 »

Als Front-end developer werken aan apps voor het o

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

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

26/04/2024 06:08:36
 
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.