login  Naam:   Wachtwoord: 
Registreer je!
 Forum

.htaccess werkt niet meer (Opgelost)

Offline Rens - 15/10/2008 14:36
Avatar van RensGouden medaille

Crew algemeen
Hey,

Mijn .htaccess werkt sinds zojuist niet meer op de volgende manier:
  1. RewriteEngine On
  2. RewriteRule ^home(/)?$ index.php?pagina=home
  3. RewriteRule ^contact(/)?$ index.php?pagina=contact

Dit heeft wel altijd gewoon gewerkt...
Nu werkt het als ik het zo doe wel:
  1. RewriteEngine On
  2. RewriteRule home index.php?pagina=home
  3. RewriteRule contact index.php?pagina=contact

Kan iemand mij vertellen wat er verkeerd is gegaan?
De index.php staat in dezelfde map als de .htaccess.
Ik zie niet wat er verkeerd gegaan is?

Bedankt,
Rens

18 antwoorden

Gesponsorde links
Offline Erwt - 15/10/2008 14:41 (laatste wijziging 15/10/2008 14:41)
Avatar van Erwt PHP beginner vervang (/) eens door (/?)

En optioneel: Bouw je echt zo je hele menu op? Waarom niet zo:

  1. RewriteRule ^([_0-9a-z-]+)(/?)+$ index.php?pagina=$1 [QSA,L]
Offline Rens - 15/10/2008 14:45
Avatar van Rens Gouden medaille

Crew algemeen
Die doet het ook niet.
Om de een of andere reden roept hij niet index.php aan maar het bestand wat geïnclude moet worden.
Als ik naar http://192.168.2.4/contact ga dan is de script name contact.php terwijl dit gewoon index.php moet zijn.

Als ik die 2e code van mij gebruik en ik doe een print_r van $_SERVER krijg ik het volgende:
Citaat:
[QUERY_STRING] => pagina=contact
[REQUEST_URI] => /contact
[SCRIPT_NAME] => /index.php


Doe ik het van jou code, krijg ik:
Citaat:
[QUERY_STRING] =>
[REQUEST_URI] => /contact
[SCRIPT_NAME] => /contact.php


De 1e quote, zo hoort het te zijn.
Offline Erwt - 15/10/2008 14:47
Avatar van Erwt PHP beginner
Erwt schreef:
vervang (/) eens door (/?)


Nu heb ik hier niet bijster veel verstand van, om eerlijk te zijn ben ik nog maar net begonnen.

Maar had je m'n voorbeeld (voor de code) ook nog geprobeerd?
Offline Rens - 15/10/2008 14:49
Avatar van Rens Gouden medaille

Crew algemeen
Ja, die had ik ook al geprobeerd maar die werkt ook niet.
Offline BramBo - 15/10/2008 14:51
Avatar van BramBo JS gevorderde (/) is een capturing group, dus je kunt deze gebruiken in het herschrijven van je url aangezien je maar 1 capture group hebt is het $1

vervang (/) door [/]* wat de / optioneel maakt, greedy is niet nodig dus dit kan je weg laten (het ?)
Offline Rens - 15/10/2008 14:54
Avatar van Rens Gouden medaille

Crew algemeen
Dan zou het zo worden:
Citaat:
RewriteEngine On
RewriteRule ^home[/]*$ index.php?pagina=home
RewriteRule ^contact[/]*$ index.php?pagina=contact

Dit werkt echter ook niet.
Het is net of hij dat home pakt en er dan .php achter zet en zo de PHP pagina heeft of zo... 
Offline BramBo - 15/10/2008 14:56
Avatar van BramBo JS gevorderde je kan proberen opm de RewriteBase te setten, of [/]* voor de url's te plaatsen.

  1. RewriteEngine ON
  2. RewriteBase /
Offline Rens - 15/10/2008 15:05
Avatar van Rens Gouden medaille

Crew algemeen
Ben er nu achter gekomen dat het er ook mee te maken heeft of een bestand wel of niet bestaat.
Ik heb in mijn map een index.php, contact.php en een .htaccess.
De .htaccess bevat het volgende:
Citaat:
RewriteEngine On
RewriteRule ^home[/]*$ index.php?pagina=home
RewriteRule ^contact[/]*$ index.php?pagina=contact

Als ik nu naar /home ga doet hij wat hij moet doen.
Hij rewrite naar index.php en de pagina is home:
Citaat:
[QUERY_STRING] => pagina=home
[REQUEST_URI] => /home
[SCRIPT_NAME] => /index.php
[PHP_SELF] => /index.php

Doe ik dit met /contact, krijg ik het volgende:
Citaat:
[QUERY_STRING] =>
[REQUEST_URI] => /contact
[SCRIPT_NAME] => /contact.php
[PHP_SELF] => /contact.php

Het bestand home.php bestaat niet en word naar index.php gestuurd.
Het bestand contact.php bestaat wel en word aangeroepen...

Best vreemd? 
Offline Erwt - 15/10/2008 15:07
Avatar van Erwt PHP beginner Dit gaat mij het petje teboven 

Ik weet alleen van mezelf dat ik ook gebruik maak van index.php?pagina=$1 en dat i.c.m de regel die ik eerder gaf.
Offline marten - 15/10/2008 15:09
Avatar van marten Beheerder Je kan met -f controleren of een bestand bestaat met mod rewrite.
Offline Rens - 15/10/2008 15:11
Avatar van Rens Gouden medaille

Crew algemeen
Maar dat hoeft niet.
Hij moet gewoon alles herschrijven naar index.php en dat doet hij dus niet...
Offline BramBo - 15/10/2008 15:36
Avatar van BramBo JS gevorderde Heb je
  1. RewriteEngine ON
  2. RewriteBase /
  3. RewriteRule ^home[/]*$ INDEX.php?pagina=home [NC]
  4. RewriteRule ^contact[/]*$ INDEX.php?pagina=contact [NC]


al geprobeerd?

([NC] = No Case)
Offline Rens - 15/10/2008 15:39
Avatar van Rens Gouden medaille

Crew algemeen
Doet het ook niet.
Ga nu eens Apache opnieuw installeren.
Kijken of het dan wel weer fatsoenlijk wil werken...
Offline marten - 15/10/2008 15:42
Avatar van marten Beheerder Kijk eerst je error logs nog even na. Misschien dat daar wat in staat.
Offline Giant - 15/10/2008 16:10
Avatar van Giant PHP beginner FollowSymLinks staat neem ik aan aan?
Dit zorgt er toch voor dat een bestand als contact.php ook als contact kan openen?
zou dat het misschien kunnen zijn?
Offline Rens - 15/10/2008 16:12
Avatar van Rens Gouden medaille

Crew algemeen
Apache opnieuw geinstalleerd en hij doet het nog steeds niet.
Als ik naar http://192.168.2.4/contact ga laad hij nog steeds contact.php in.
Vind het raar dat dat gebeurd, kan dit soms ergens anders aan liggen? 
Offline Giant - 15/10/2008 16:13
Avatar van Giant PHP beginner ligt het niet aan wat ik net poste rens?
Offline Rens - 15/10/2008 16:17 (laatste wijziging 15/10/2008 16:33)
Avatar van Rens Gouden medaille

Crew algemeen
Heb het nu zo:
  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^home$ index.php?pagina=home
  4. RewriteRule ^contact$ index.php?pagina=contact

En dat werkt al beter als eerst.
Ligt inderdaad dus aan die FollowSymLinks.

edit; Nu zit hij alleen nog te zeuren over extensions die hij niet gevonden krijgt.
Ze staan toch echt zeker te weten in de map die ik heb aangegeven bij extension_dir... 

edit; Inmiddels ook opgelost.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s