mod_rewrite op VPS niet aan de praat te krijgen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

Bekijk vacature »

Senior DevOps-ontwikkelaar eIDAS

Functie­omschrijving Burgers en bedrijven veilig en betrouwbaar digitaal toegang geven tot diensten en producten van het ministerie van Economische Zaken en Klimaat. Als senior DevOps-ontwikkelaar bouw je daar letterlijk aan mee. En dat doe je bij DICTU: een van de grootste en meest vooruitstrevende ICT-dienstverleners van de Rijksoverheid. Jij werkt mee aan de doorontwikkeling van eIDAS, dat staat voor Electronic IDentification Authentication and trust Services. Deze koppeling maakt de grensoverschrijdende authenticatie op overheidswebsites binnen de Europese Unie mogelijk. Het ministerie van Economische Zaken en Klimaat heeft één moderne toegangspoort voor zijn diensten en inspecties. Enkele daarvan zijn dankzij eIDAS inmiddels

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Front-end Developer Vue.js Meewerkend voorman

Functieomschrijving Ben jij een ervaren Front-end Developer, bedreven in Vue.js en lijkt het jou gaaf om als meewerkend voorman verantwoordelijk te zijn voor de ontwikkeling van drie junior ontwikkelaars? Werk jij graag aan diverse projecten t.b.v. het vergroten van klant- en medewerkerbeleving? Lee dan snel verder! Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en api ontwerp; Participeren in

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Erwin H

Erwin H

12/07/2013 09:41:34
Quote Anchor link
Via de httpd.conf probeer ik een mod_rewrite in te stellen op mijn VPS. Eigenlijk zou deze heel simpel moeten zijn: alle requests moeten naar de index.php gestuurd worden, met de complete route als parameter. Tenzij het een bestaande directory of file is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
RewriteEngine On

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

De mod_rewrite is geinstalleerd en doet het, alleen komt geen enkel request nu aan. Ik heb het ook getest door de rewriterule het volledige domein te geven, dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
RewriteRule ^(.*)$ http://www.domein.nl/index.php?route=$1

Dan krijg ik de melding dat de server het request maar blijft doorsturen. De url wordt dan
http://www.domein.nl/index.php?route=/index.php
Met andere woorden, bestaande bestanden worden niet herkent. Nu heb ik ergens het vermoeden dat ik dus een RewriteBase moet opnemen, maar ik heb de hele DocumentRoot al geprobeerd, geen enkele werkt.

Iemand een idee over wat ik klaarblijkelijk ben vergeten te doen?
Gewijzigd op 12/07/2013 09:41:59 door Erwin H
 
PHP hulp

PHP hulp

05/08/2020 01:04:40
 
Johan M

Johan M

12/07/2013 10:05:29
Quote Anchor link
Ik doe hem zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
RewriteEngine On

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

Erwin H

12/07/2013 10:22:12
Quote Anchor link
Op mijn locahost werkt die ook, maar op mijn VPS ook niet. Het probleem zit hem blijkbaar dus echt in het feit dat mod_rewrite dus blijkbaar niet in de juiste directory kijkt. Hoe kan ik er dus achter komen welke base ik moet opgeven?
 
Bart V B

Bart V B

12/07/2013 10:45:15
Quote Anchor link
En als je hem zo opgeeft?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
RewriteEngine On

RewriteBase /

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


Andere optie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
RewriteEngine On

RewriteBase /directory/

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


p.s. Je hebt wel apache opnieuw opgestart nadat je mod_rewrite hebt aangezet he?
 
Erwin H

Erwin H

12/07/2013 10:50:05
Quote Anchor link
Ik start hem elke keer opnieuw op ;-)
Nee, beide werken ook niet. Overigens werk ik dus wel met virtual hosts. In principe zou deze regel wat mij betreft direct voor alle virtual hosts mogen werken.
In eerste instantie heb ik dit via DirectAdmin ingesteld (binnen de eerste virtual host), nu probeer ik het direct in de httpd.conf te krijgen. Voorlopig lukt het in beide gevallen niet.
 
Johan M

Johan M

12/07/2013 10:56:16
Quote Anchor link
Bij mij is het de inhoud van mijn .htaccess, daardoor werkt het mijn inziens direct voor de huidige directory. Hierdoor worden deze instellingen wel elke pageload geladen maar je hoeft dan niet je proces opnieuw te starten na een wijziging. Wellicht voor het testen iets gemakkelijker.
 
Bart V B

Bart V B

12/07/2013 10:58:49
Quote Anchor link
En is dit exact de code die je erbij zet?
Of heb je ook nog iets van: <IfModule mod_rewrite.c> </IfModule>
 
Erwin H

Erwin H

12/07/2013 10:59:31
Quote Anchor link
Jammere van htaccess is alleen dat het een performance verlies betekent. Omdat ik binnen mijn VPS complete controle heb over de apache instellingen wil ik dus geen gebruik maken van htaccess (tenzij het echt niet anders zou kunnen).
Het testen punt is wel waar. Ik vraag me alleen af of er verschillen zijn tussen wat er precies in je htaccess zou moeten staan en wat er in een httpd.conf zou moeten staan. Ik zal er nu in elk geval even naar kijken, misschien dat het met een tijdelijke htaccess wel lukt.

Toevoeging op 12/07/2013 11:00:26:

@Bart
Nee, ik heb geen conditie op mod_reqrite module. Die is actief, dat weet ik in elk geval wel. Of is er nog een andere reden waarom je die conditie op zou moeten nemen?
 
Johan M

Johan M

12/07/2013 11:05:38
Quote Anchor link
Ik neem aan dat het tussen de Directory-tag moet komen in je httpd.conf om het toe te passen op de betreffende map:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<Directory /home/{username}/domains/{url}/public_html>

</Directory>


// Edit: DirectAdmin kan ook werken met |DOCROOT|
Gewijzigd op 12/07/2013 11:07:09 door Johan M
 
Erwin H

Erwin H

12/07/2013 11:06:20
Quote Anchor link
Toevoeging op de test met htaccess, dan werkt het in elk geval wel:
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
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ rewrite_test.php?route=$1 [L,QSA]

(index.php even vervangen door een test script waarin ik de $_GET parameters kan laten zien, dan zie ik wat ik wil zien)
 
Bart V B

Bart V B

12/07/2013 11:14:22
Quote Anchor link
Volgens mij was het zo dat de conditie blok betekende ALS de module enabled is.
Of je krijgt een server error, of hij word genegeerd.
Wat ik uit jou foutmelding haal is dat hij in een oneindige lus blijft hangen.
Maar misschien is een good old .htaccess om te testen misschien wel een optie om te testen.oke dat werkt dus wel..
Gewijzigd op 12/07/2013 11:15:38 door Bart V B
 
Johan M

Johan M

12/07/2013 11:18:36
Quote Anchor link
Erwin, ik heb op mijn VPS met DirectAdmin op een van mijn sites de .htaccess leeggegooid (leverde een mooie error op in de browser uiteraard), en vervolgens de "Httpd.conf Customization" uitgevoerd voor de betreffende account. De volgende code heb ik gebruikt en dit werkt voor mij:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<Directory |DOCROOT|>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>


Zonder de Directory-tag kreeg ik een 400-error.

// Edit: Ingelogd op DirectAdmin, admin-level, onderaan "Custom HTTPD Configurations" > domein
Gewijzigd op 12/07/2013 11:27:56 door Johan M
 
Erwin H

Erwin H

12/07/2013 11:21:38
Quote Anchor link
Johan M op 12/07/2013 11:05:38:
Ik neem aan dat het tussen de Directory-tag moet komen in je httpd.conf om het toe te passen op de betreffende map:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<Directory /home/{username}/domains/{url}/public_html>

</Directory>


// Edit: DirectAdmin kan ook werken met |DOCROOT|

Dit heb ik nu binnen de httpd.conf gezet (buiten DirectAdmin om dus) en dan werkt het. Bedankt daarvoor in elk geval!
Nu alleen nog om het te doen via DirectAdmin, zou ik dan zo'n directory block moeten plaatsen binnen de virtualhost sectie (via de 'httpd customization for domain.nl' optie)? -> beantwoord in je laatste post, ga ik even testen

@Bart
Zonder die conditie lukte het uiteindelijk dus wel, had alleen dat directory block nodig.



Toevoeging op 12/07/2013 11:29:43:

En in DirectAdmin werkt het dus ook inderdaad. Met de code zoals door Johan gegeven krijg ik het nu inderdaad ook aan de praat.

Heel erg bedankt!
Gewijzigd op 12/07/2013 11:22:46 door Erwin H
 
Johan M

Johan M

12/07/2013 11:32:09
Quote Anchor link
Graag gedaan, en mijn (gloednieuwe) VPS/DirectAdmin staat gelijk ook weer een beetje netter ingesteld :P
 



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.