Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 03-02-2005, 16:48
Jordi
Avatar van Jordi
Jordi is offline
Ik heb net mij .htaccess-bestand overgezet naar een andere server en de meeste dingen lijken goed te werken. Het enige probleem is echter dat een paar links niet worden ge-mod_rewrite.

Dit is de mijn hele .htaccess-bestand:
RewriteEngine On
RewriteRule ^index.php(.+)$ index.php$1

RewriteRule ^informatie/archief/((.+)[^/])(/?)$ index.php?page=messages/archive.php&forum=$1
RewriteRule ^informatie/((.+)[^/])/([0-9]+)$ index.php?page=messages/categories/$1.php&topic=$3
RewriteRule ^informatie/((.+)[^/])(/?)$ index.php?page=messages/categories/$1.php

RewriteRule ^admin/meer/([0-9]+)/?([0-9]?)$ index.php?page=admin/login.php&action=increase&position=$1&forum=$3
RewriteRule ^admin/minder/([0-9]+)/?([0-9]?)$ index.php?page=admin/login.php&action=decrease&position=$1&forum=$3
RewriteRule ^admin/instellingen$ index.php?page=admin/settings.php
RewriteRule ^admin/wachtwoord-vergeten$ index.php?page=admin/lostpassword.php
RewriteRule ^admin/uitloggen$ index.php?page=admin/login.php&mode=logout
RewriteRule ^admin/plaats-bericht/([0-9]+)$ index.php?page=messages/post.php&id=$1
RewriteRule ^admin/plaats-bericht$ index.php?page=messages/post.php
RewriteRule ^admin/wijzig-bericht/([0-9]+)$ index.php?page=messages/post.php&mode=edit&id=$1
RewriteRule ^admin/documentatie$ index.php?page=admin/documentatie.php
RewriteRule ^admin/?$ index.php?page=admin/login.php

RewriteRule ^home/?$ index.php?page=home.php
RewriteRule ^contact/?$ index.php?page=contact.php
RewriteRule ^menu$ index.php?page=menu.php

RewriteRule ^bestellen/?$ index.php?page=order.php

RewriteRule !((image\.php)|\.(gif|jpg|png|css|ico|xml|js))$ index.php

De groen gekleurde regels werken niet. Als ik bijvoorbeeld domein/contact intyp, krijg ik niet de contactpagina, maar de standaardpagina die je krijg als je iets intypt dat niet bestaat. Het vreemde vind ik dat er wel regels tussen staan van precies dezelfde vorm, die wel werken. Nog vreemder is het dat ik contact/menu/home door elke willekeurig woord kan vervangen en dat het dan ineens wel goed werkt.

Dus dit werkt wel:
RewriteRule ^klotehtaccess/?$ index.php?page=contact.php

Maar dit niet:
RewriteRule ^contact/?$ index.php?page=contact.php

Het lijkt er dus een beetje op dat menu, contact en home verboden woorden ofzo zijn, maar volgens mij kan dat helemaal niet in .htaccess. Het maakt trouwens ook niet uit waar ik deze dingen in het bestand neerzet (bovenaan dus ofzo). Weet iemand misschien wat ik hier aan kan doen, behalve gewoon andere namen kiezen voor die pagina's?
__________________
Mommy, that salesman's on TV!
Met citaat reageren
Advertentie
Oud 03-02-2005, 17:53
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Ik heb verder weinig kennis van PCRE's dus daar kan ik je niet echt mee helpen, maar zoiets is natuurlijk wel een smerige oplossing. Waarom loods je niet *alles* naar 1 php bestant en kijk je aan de hand van de url welke pagina je moet includen?
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 03-02-2005, 18:06
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Zijn het andere versies van Apache?
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Oud 03-02-2005, 18:16
Jordi
Avatar van Jordi
Jordi is offline
Citaat:
Enlightenment schreef op 03-02-2005 @ 18:53 :
Ik heb verder weinig kennis van PCRE's dus daar kan ik je niet echt mee helpen, maar zoiets is natuurlijk wel een smerige oplossing. Waarom loods je niet *alles* naar 1 php bestant en kijk je aan de hand van de url welke pagina je moet includen?
Tja, dat zou ik eventueel misschien wel kunnen doen, maar ik prefereer toch het gebruik van .htaccess als dat tenminste normaal doet...

Citaat:
Manuzhai schreef op 03-02-2005 @ 19:06 :
Zijn het andere versies van Apache?
Dat weet ik niet. Staat dat in phpinfo()? Ik vraag me echter af of het daar aan ligt. Nou ja, eigenlijk heb ik geen idee waar het aan ligt. Ik vind het gewoon heel erg vreemd dat ik die drie woorden niet blijk te mogen gebruiken. Het zal wel aan mij liggen, maar dat slaat toch nergens op?
__________________
Mommy, that salesman's on TV!
Met citaat reageren
Oud 03-02-2005, 19:28
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Kan aan vanalles liggen, andere versie van apache, andere configuratie, andere PCRE-processing. Weet ik veel.

De Apache documentatie is trouwens weinig positief over mod_rewrite rules in een .htaccess. Het werkt wel, maar wel met een omweg. Waarschijnlijk performance-remmend en misschien ook niet helemaal bugloos. Probeer het eens direct in de httpd.conf.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 03-02-2005, 20:41
Jordi
Avatar van Jordi
Jordi is offline
Ik heb echt helemaal geen verstand van dit soort dingen. Ik kan eigenlijk alleen maar een beetje PHP programmeren en ik was allang blij dat ik dat .htaccess-dinges werkend had gekregen (maar dus alleen op die andere sever).

Waar staat die httpd.conf? Of moet ik die ook zelf maken? En kan ik daar dan gewoon vrolijk mijn mod_rewrite-regeltjes in plakken, of moet dat daar weer anders?
__________________
Mommy, that salesman's on TV!
Met citaat reageren
Oud 03-02-2005, 20:54
TIGEK
TIGEK is offline
Citaat:
Jordi schreef op 03-02-2005 @ 17:48 :
RewriteRule ^home/?$ index.php?page=home.php
RewriteRule ^contact/?$ index.php?page=contact.php
RewriteRule ^menu$ index.php?page=menu.php

[/B]
Ik heb er ook last van op mijn website
Gewoon de bestand een andere name geven dus
RewriteRule ^home/?$ index.php?page=home2.php

Ofzo de gebruikers ziet het toch niet
__________________
Laptops zijn net vrouwen. Je moet er voor zichtig mee omgaan als je iets fout doet is het heel gevaarlijk.
Met citaat reageren
Oud 03-02-2005, 21:08
Gimme more beer
Avatar van Gimme more beer
Gimme more beer is offline
Citaat:
Enlightenment schreef op 03-02-2005 @ 18:53 :
Ik heb verder weinig kennis van PCRE's dus daar kan ik je niet echt mee helpen, maar zoiets is natuurlijk wel een smerige oplossing. Waarom loods je niet *alles* naar 1 php bestant en kijk je aan de hand van de url welke pagina je moet includen?
Mee eens, waarom link je uberhaupt niet gewoon direct naar index.php?page=... ?

Ik kan me niet voorstellen dat dit meerwaarde heeft, zeker omdat je constant zit te klooien met de compatibiliteit.
__________________
Onderuitgezakt in de koffiehoek van het zorgcentrum zit Sieb met volle teugen na te genieten van de Tweede Wereldoorlog. Arnela is de liefste! <3
Met citaat reageren
Oud 03-02-2005, 23:00
Jordi
Avatar van Jordi
Jordi is offline
Citaat:
TIGEK schreef op 03-02-2005 @ 21:54 :
Ik heb er ook last van op mijn website
Gewoon de bestand een andere name geven dus
RewriteRule ^home/?$ index.php?page=home2.php

Ofzo de gebruikers ziet het toch niet
De naam van het bestand veranderen maakt niet uit. Het gaat om de url die ernaar verwijst (of hoe zeg je dat). Wat er in de adresbalk komt te staan in ieder geval.

Ik heb dat nu maar als tijdelijke (en misschien wel permanente) oplossing veranderd. Dus nu is het 'keuzemenu' ipv 'menu' en 'info' ipv 'contact'. Ik vind het wel irritant dat het niet zo kan zoals ik het wil en al helemaal omdat ik het nergens op vind slaan dat ik de woorden 'menu' en 'contact' niet mag gebruiken ofzo, maar goed, dit is ook niet écht erg.

@Gimme more beer:
Ik vind dit zo een stuk mooier. OK, het is wel iets minder makkelijk, maar ik dacht: ik probeer het een keertje en nu heb ik geen zin om alles terug te veranderen omdat één dingetje niet werkt.
En wat bedoel je met dat ik constant zit te klooien met de compatibiliteit? Dat het nu niet werkt op die nieuwe server? Zo vaak wissel ik niet van server hoor, dus dat vind ik nog niet zo vreselijk.
__________________
Mommy, that salesman's on TV!
Met citaat reageren
Oud 04-02-2005, 01:48
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
Gimme more beer schreef op 03-02-2005 @ 22:08 :
Mee eens, waarom link je uberhaupt niet gewoon direct naar index.php?page=... ?

Ik kan me niet voorstellen dat dit meerwaarde heeft, zeker omdat je constant zit te klooien met de compatibiliteit.
Kijk eens naar mijn site, en zie de mooie URLs. Dát is de meerwaarde, en deze is voor mij heilig.

Ik gebruik maar één mod_rewrite regel, eentje die alles naar de masterscript stuurt, en deze bepaalt aan de hand van de url wat er gedaan moet worden. Dus ook images serveren en caching afhandelen.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 04-02-2005, 10:35
Jordi
Avatar van Jordi
Jordi is offline
Citaat:
Enlightenment schreef op 04-02-2005 @ 02:48 :
Kijk eens naar mijn site, en zie de mooie URLs. Dát is de meerwaarde, en deze is voor mij heilig.

Ik gebruik maar één mod_rewrite regel, eentje die alles naar de masterscript stuurt, en deze bepaalt aan de hand van de url wat er gedaan moet worden. Dus ook images serveren en caching afhandelen.
Dus jij hebt zoiets als deze regel:
RewriteRule !((image\.php)|\.(gif|jpg|png|css|ico|xml|js))$ index.php

En dan staat in je index.php iets als:
PHP-code:
switch ($_SERVER['REQUEST_URI'])
{
case 
"forum"$page "forum.php"; break;
case 
"contact"$page "contact.php"; break;
...
}
?> 
Klopt dat een beetje?
__________________
Mommy, that salesman's on TV!
Met citaat reageren
Oud 04-02-2005, 12:07
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Ik gebruik liever $_SERVER["PATH_INFO"]. En meestal doe ik dan een include van dat bestand aan de hand van het meegegeven pad.

Overigens denk ik niet dat er veel verschillen in de door Apache gebruikte PCRE zitten, anders dan in verschillende Apache versies (die staat trouwens ook in je phpinfo(), ja).
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Oud 04-02-2005, 12:09
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
Enlightenment schreef op 04-02-2005 @ 02:48 :
Kijk eens naar mijn site, en zie de mooie URLs.
Ook wel: Cool URIs Don't Change. Mocht je later willen overstappen naar een andere technologie (omdat Python nou eenmaal veel geiler is dan PHP, bijvoorbeeld), dan wil je daar niet al je URIs op aanpassen.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Oud 04-02-2005, 13:36
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
Manuzhai schreef op 04-02-2005 @ 13:09 :
Ook wel: Cool URIs Don't Change. Mocht je later willen overstappen naar een andere technologie (omdat Python nou eenmaal veel geiler is dan PHP, bijvoorbeeld), dan wil je daar niet al je URIs op aanpassen.
Ja dan zijn mijn URLs toch juist neutraal en technologie-onafhankelijk? Bovendien vind ik het vele malen mooier en netter. Bovendien komt het de veiligheid van je scripts ten goede als mensen geen directe toegang tot de webspace hebben, en direct scripts aan kunnen roepen etc.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 04-02-2005, 14:26
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
Jordi schreef op 04-02-2005 @ 11:35 :
Dus jij hebt zoiets als deze regel:
RewriteRule !((image\.php)|\.(gif|jpg|png|css|ico|xml|js))$ index.php
Neuh, ik zei *alles*, dus:
Code:
RewriteEngine on
RewriteRule ^.*$ /www/dsm/dsm-master.php

Citaat:
En dan staat in je index.php iets als:
Zoiets als:

- Static redirects
- Image handler
- File handler
- Dynamic redirects

Dat laatste zijn dus pagina's die in de database staan, volkomen SQL en dus geen aparte .php voor dus. Maar mijn CMS is best uitgebreid, bij jou kan het idd een stuk simpeler.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 04-02-2005, 15:07
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
Enlightenment schreef op 04-02-2005 @ 14:36 :
Ja dan zijn mijn URLs toch juist neutraal en technologie-onafhankelijk?
Ik was het ook met je eens aan het zijn.

Overigens ben ik wel van mening dat het mooier is om in ieder geval binary data (die niet dynamisch gegenereerd wordt) niet via PHP te serveren, ook ivm performance en caching.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Oud 04-02-2005, 15:20
Verwijderd
Citaat:
Manuzhai schreef op 04-02-2005 @ 16:07 :
Ik was het ook met je eens aan het zijn.

Overigens ben ik wel van mening dat het mooier is om in ieder geval binary data (die niet dynamisch gegenereerd wordt) niet via PHP te serveren, ook ivm performance en caching.
Maar hoe bepaal je dat iets ECHT dynamisch is..
Op een website staan veel texten die op zich ook best statisch zijn, maar ook wel heel af ent oe kunnen veranderen...

Wanneer vind je iets dynamisch? Hoe vaak moet het veranderen?

Ik maak de layouts (templates) altijd statisch, alleen de content erin is dynamisch (meestal database).
Met citaat reageren
Oud 04-02-2005, 16:09
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
Manuzhai schreef op 04-02-2005 @ 16:07 :
Ik was het ook met je eens aan het zijn.
Oh oke.
Citaat:
Overigens ben ik wel van mening dat het mooier is om in ieder geval binary data (die niet dynamisch gegenereerd wordt) niet via PHP te serveren, ook ivm performance en caching.
Performance zou kunnen (scheelt dat zoveel dan? valt toch wel mee?). Maar images, files en zelfs dynamisch gegenereerde pagina's zijn volkomen gecached hoor. Bij 2e view van plaatje stuurt server netjes Not Modified terug, ook voor stylesheets en files.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 04-02-2005, 16:11
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
********** schreef op 04-02-2005 @ 16:20 :
Wanneer vind je iets dynamisch? Hoe vaak moet het veranderen?
Als we mijn site als voorbeeld nemen: een nieuwspost b.v., daat is een last edit datum voor de nieuwspost zelf en een laatste reactie. dat kun je als caching nemen. Nodes e.d. worden ook op die manier gecached, tenminste als de client daarom vraag (if-not-modified). Op mijn site heb ik dat laatste nu uitgeschakeld omdat hij dan dingen zoals forum posts etc. niet zou 'pakken', maar je zou dat kunnen opvangen door 5 minuten cache aan te houden, ofzo.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 04-02-2005, 18:37
Gimme more beer
Avatar van Gimme more beer
Gimme more beer is offline
Citaat:
Enlightenment schreef op 04-02-2005 @ 02:48 :
Kijk eens naar mijn site, en zie de mooie URLs. Dát is de meerwaarde, en deze is voor mij heilig.
Jah, je servertje ligt eraf, maar ik heb je site wel eens bekeken

Ik zie de meerwaarde nog steeds niet, maar ieder zijn of haar ding, natuurlijk... Als ik tegenwoordig een site maak werkt het altijd met een ?page=... en ik zou niet meer anders willen. Mooie 404 error in het design van m'n eigen pagina waar het niet werkt en je bent klaar.
__________________
Onderuitgezakt in de koffiehoek van het zorgcentrum zit Sieb met volle teugen na te genieten van de Tweede Wereldoorlog. Arnela is de liefste! <3
Met citaat reageren
Oud 04-02-2005, 19:03
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
Enlightenment schreef op 04-02-2005 @ 17:09 :
Performance zou kunnen (scheelt dat zoveel dan? valt toch wel mee?). Maar images, files en zelfs dynamisch gegenereerde pagina's zijn volkomen gecached hoor. Bij 2e view van plaatje stuurt server netjes Not Modified terug, ook voor stylesheets en files.
En ETag? Als je het goed doet heb je allebei (en je stuurt natuurlijk braaf een 304 als dat gepast is, maar dat doe je geloof ik al).
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 15:17.