[.htaccess] Mooie URL's ipv script.php?blaat=appel&...

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb laatst een shared hosting pakket besteld bij Strato, en nu probeer ik mijn website werkend online te krijgen op dat pakket.
Hierbij zou ik graag gebruik willen maken van mooie, zoekmachine-vriendelijke URL's.
Hiermee bedoel ik dus URL's zoals www.site.com/browse/appel ipv www.site.com/browse.php?cat=appel

Als eerste zat ik er aan te denken om gebruik te maken van de mod_rewrite module. Dit zorgde echter steeds voor Internal Server Errors. Ik contacteerde Strato en kreeg te horen dat deze module niet wordt ondersteund.

Mijn volgende plan: Gebruik maken van de error 404 functionaliteit van een .htaccess bestand:
- Ik roep de URL aan die ik graag zou willen hebben (vb: www.site.com/browse/appel, maar die bestaat niet)
- Ik krijg een error 404, in mijn .htaccess bestand staat er dat redirect.php aangeroepen moet worden.
- Dat script kijkt wat de URL is en roept het goede PHP script aan..

Dit werkt goed, zo lijkt het dan toch. Er wordt echter steeds een Error 404 HTTP header meegestuurd zodat Google etc mij niet indexeert.
Ik kan wel via PHP een 200 header meesturen, maar ik heb ergens gelezen dat Google dan nog steeds niet indexeert, klopt dat?

Na nog wat verder googlen kwam ik bij plan nummer 3:
Ik zet onderstaande code in mijn .htaccess bestand:
code:
1
2
3
<Files browse>
ForceType application/x-httpd-php5
</Files>

Als ik dit in de hoofd directory zou zetten, en www.site.com/browse/ zou aanroepen, zou Apache het bestand "browse" moeten opvragen, en door PHP5 laten parsen. In theorie dan toch.
In mijn geval wordt het bestand niet omgezet door PHP5, maar wordt het juist ter download aangeboden, met als bestandtype "application/x-httpd-php5".
Ik heb er zeker van dat "application/x-httpd-php5" klopt, daar zit de fout dus niet in.

Owja, ik heb toegang tot de access logs, maar niet tot de error logs.

Na veel Googlen en uitproberen ben ik een beetje ten einde raad.
Zijn er nu nog manieren om er voor te zorgen dat ik gebruik kan maken van "mooie" URL's?

Acties:
  • 0 Henk 'm!

Verwijderd

Kijk eens naar de multiviews optie van Apache ;)

Acties:
  • 0 Henk 'm!

  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Hier zou je het mee voor elkaar moeten kunnen krijgen: http://www.naarvoren.nl/artikel/vriendelijke_urls/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat artikel spreekt toch over de mod_rewrite module als ik mij niet vergis?
Die wordt niet ondersteund door mijn hosting pakket.
Toch bedankt :)

Multiviews kijk ik nu even naar.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Misschien niet wat je wilt horen maar kun je niet verhuizen naar een host die wel gewoon mod_rewrite ondersteund....? Dan heb je al dat gedoe niet nodig....

Acties:
  • 0 Henk 'm!

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Verwijderd schreef op dinsdag 07 augustus 2007 @ 15:52:
Dit werkt goed, zo lijkt het dan toch. Er wordt echter steeds een Error 404 HTTP header meegestuurd zodat Google etc mij niet indexeert.
Ik kan wel via PHP een 200 header meesturen, maar ik heb ergens gelezen dat Google dan nog steeds niet indexeert, klopt dat?
Als je netjes een 200-header zal google gewoon indexeren (waarom? omdat google niet kan ruiken dat je 404-redirect op deze manier gebruikt). Wel opletten:
PHP:
1
header("HTTP/1.0 200 OK");

werkt niet bij moderne php/apache, je moet:
PHP:
1
header("Status: 200 OK");

gebruiken.

Tip: gebruik wget om snel te kunnen controleren of de juiste header wordt meegestuurd.

[ Voor 0% gewijzigd door Kuhlie op 07-08-2007 16:35 . Reden: tikfout ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kuhlie schreef op dinsdag 07 augustus 2007 @ 16:35:
[...]

Als je netjes een 200-header zal google gewoon indexeren (waarom? omdat google niet kan ruiken dat je 404-redirect op deze manier gebruikt). Wel opletten:
PHP:
1
header("HTTP/1.0 200 OK");

werkt niet bij moderne php/apache, je moet:
PHP:
1
header("Status: 200 OK");

gebruiken.
Dank je! Ik maakte dus gebruik van het eerste stukje code ipv het tweede stukje.
Ik heb het nu ook net werkend gekregen met MultiViews.

Iedereen hartelijk bedankt!
Echt overal sprak men over mod_rewrite, vandaar dat ik zelf geen oplossing vond ik via Google.

Acties:
  • 0 Henk 'm!

Verwijderd

Men geeft mod_rewrite vaak aan als preferred omdat het veel functioneleren is, maar voor heel veel situaties voldoet de multiviews functie ook perfect.
Pagina: 1