• Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
Hallo,

Al dagen ben ik bezig om mod_rewrite werkend te krijgen, en aangezien het nog steeds niet lukt vraag ik het toch maar even op GoT. Ik hoop dat het in Software Algemeen hoort, maar als het naar Non-Windows OS wordt verplaatst snap ik dat :)

Het probleem: ik heb een .htaccess in een map geplaatst, met daarin de volgende tekst:
code:
1
2
3
RewriteEngine On
RewriteRule ^/(.+)/$ index.php?name=$1 [R=301,L]
RewriteRule ^/(.+)$ index.php?name=$1 [R=301,L]

Ik heb geprobeerd RewriteBase / toe te voegen, zelfde probleem. [R=301,L] heb ik naar aanleiding van het bekende "cheat sheet" toegevoegd, maar zonder: zelfde probleem.
Het probleem is dat wat ik ook doe, ik krijg alleen een 404-melding.

phpinfo() geeft bij "Loaded Modules" keurig aan: mod_rewrite en bij DOCUMENT_ROOT /home/xxx/domains/xxx/public_html/weblogs
In httpd.conf staat het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<Directory /home/*>
    AllowOverride All
    Options -MultiViews -Indexes +FollowSymlinks +IncludesNoExec +Includes
<Limit GET POST OPTIONS PROPFIND>
    Order allow,deny
    Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
    Order deny,allow
    Deny from all
</LimitExcept>
</Directory>

Dit stond er standaard in, maar volgens mij klopt het. Het lijkt mij toch dat /home/* er voor zorgt dat ook alle submappen dit "doorkrijgen"?
Ik las op GoT de tip om phpinfo() in de 404-pagina te zetten, maar ik heb geen idee waar die staat :X is hier achter te komen?

Zie ik iets over het hoofd, doe ik iets fout? Of zou het zo gewoon moeten werken?
Alvast bedankt voor alle hulp :)

Full-stack webdeveloper in Groningen


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Je hebt nu twee problemen door elkaar; ten eerste weet je niet of je htaccess wel wordt geparsed; ten tweede weet je niet of hij werkt. Begin eens met een 'deny from all' in je htaccess; krijg je daarna netjes een permission denied? Dan weet je dat hij wordt geparsed. Ik verplaats je topic ook nog even.

Hiernaast, je gaat toch niet toevallig naar de 'homepage' op de url, oftewel geen URL, oftewel geen match op je RewriteRule?

CSA > WSS

[ Voor 16% gewijzigd door Spider.007 op 23-10-2008 13:59 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
Nee, ik ga niet naar de homepage :+ maar naar bijvoorbeeld {url}/zanderz

Ik heb een "deny from all" geprobeerd en dan krijg ik inderdaad een 403 Forbidden melding.

Overigens is dit op een Linuxserver (CentOS) maar dat zal weinig verschil maken voor het probleem neem ik aan...

Full-stack webdeveloper in Groningen


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik neem aan dat je probeert om alle requests bij je PHP file te krijgen? Maak van je htaccess dan gewoon het volgende:
code:
1
2
RewriteEngine On
RewriteRule ^.*$ /index.php
en lees in je PHP code $_SERVER['REQUEST_URI'] uit om de oorspronkelijke URL te verkrijgen?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
Geeft ook een 404... Maar waarom zou dat wél werken als mijn rewrite rule niet werkt?

Full-stack webdeveloper in Groningen


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Bestaat de index.php waar naar verwezen wordt wel? Waar krijg je een 404 op; op de oorspronkelijke; of de herschreven URL?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
index.php bestaat uiteraard wel :) als ik index.php?name=bla doe werkt het ook gewoon.
Ik krijg een 404 op de oorspronkelijke url:

{url}/bla geeft:
The requested URL {url}/bla was not found on this server.

Full-stack webdeveloper in Groningen


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
*schopje*
Ik ben er inmiddels achter waar ik de 404-pagina moet plaatsen, via SSI kan ik dan wel index.php aanroepen en dan REQUEST_URI verwerken, maar dit lijkt me niet echt een nette methode.

Iemand nog een idee waarom de .htaccess het niet doet?

Full-stack webdeveloper in Groningen


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
*schopje* :'(

Full-stack webdeveloper in Groningen


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Probeer eens om alleen het volgende in je htaccess te zetten om te kijken of je rewriterule nou wordt opgepakt of niet:

code:
1
2
RewriteEngine On
RewriteRule ^.*$ [forbidden]
Krijg je nu een forbidden-foutmelding? Zo ja, zet rewriteloggging aan (om erachter te komen waarom de andere rules worden genegeerd), zo nee; dan gaat er iets anders mis dan in je htaccess file

[ Voor 10% gewijzigd door Spider.007 op 25-10-2008 22:27 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
Nee, ook dan krijg ik een 404...
Maar wat kan er nou misgaan aan
code:
1
2
RewriteEngine On
RewriteRule ^.*$ /index.php

?

Ik moet maar even contact opnemen met mijn hoster denk ik, misschien dat zij weten waar het aan ligt.

Full-stack webdeveloper in Groningen


  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22:31
Probleem is opgelost!
Ik werk zelf onder Windows, en blijkbaar zorgt de line-ending (CRLF) voor problemen in htaccess-bestanden op Linux. Na opslaan als "Linuxbestand" (alleen LF) werkt alles zoals het hoort!

Full-stack webdeveloper in Groningen

Pagina: 1