Ik ben een game-site aan het maken voor een klant. (Dus met flash game's ect). Maar ik wil hier mod rewrite op toepassen. Kan ik na het maken van het hele script dit nog enevoudig toe passen? Dus zonder heel veel werk?
Ja oké kwam net ook al op zoiets.
Het is me eigenlijk nog vrijwel niet duidelijk.
dat 'maaktnietuitwat.html' moet zoiezo niet kunnen. Het gedeelte voor de .html moet een vaste naam hebben. Hoe doe ik dat dan? En ik moet de lijst met links ophalen uit de database. De link zie je dan in kolommen zoals je op elke gamesite ziet. Maar in die link moet ook al .html staan.
En wat doet Mod rewrite precies? Is het in feite alleen een stickertje over de url? Die de huidige URL verbergt terwijl het nog steeds functioneert of wat? En als dat zo is waarom zou het dan zo'n werk zijn om de links aan te passen? (volgens Frisbee)
De MOD rewrite 'vertaalt' je URL.
Je kan bijv. de mod zetten, dat de URL http://jouwwebsite.nl/pagina
door de MOD rewrite wordt vertaalt naar http://jouwwebsite.nl/index?pagina=pagina
Als je dat doet, verwijzen al je links naar /pagina, maar de rewrite zet de URL voor bijv. je PHP scripts om naar het ?pagina=.. URL.
Enige problemen (die ik zelf heb ondervonden), als je een rewrite maakt voor /pagina/, dan denkt FireFox in ieder geval (IE7 heb ik niet getest) met includen dat je niet meer in de hoofddir zit, maar in de subdir /pagina. Daarom ben ik weer afgestapt van mijn MOD Rewrite. Ik zoek zelf ook nog voor een oplossing.
Ik hoop dat dit een beetje duidelijk is.
Aha, begin het te begrijpen. Stel ik heb een MySQL table:
- id
- naam
- gamelink
- weergave naam
Ik maak een MOD Rewrite
En haal de weergavenaam op. Deze echo ik dan als link: weergavenaam.html
Als ik dan daarop klik dan zorgt de MOD ervoor dat het wordt omgezet naar een phplink? Dus dat ik bijvoorbeeld achter de schermen: index.php?game=weergavenaam draai?
Die verborgen link kan ik dan bijvoorbeeld de gegevens van weergavenaam verder ophalen (WHERE weergavenaam='spel')
je idee klopt,.. je moet er alleen wel rekening mee houden dat je url er miss anders uitziet dan zoals je die in je database hebt staan,.. want het is wel aan te raden om niet alles in je link toe te staan,.. zoals punten en slashes, omdat anders je regex misschien niet werkt (weet ik uit ervaring )
De website www.waarmaarraar.nl maakt gebruik van modrewrite, en wikipedia ook als ik het goed begrepen heb. Zoals je kan zien zijn dat urls die helemaal niet mogelijk zijn.
Als je gebruikt maakt van Mod Rewrite stijgt je google index enorm (op waarmaarraar.nl blijf je bijvoorbeeld altijd op index.php maar door modrewrite pakt google toch elk artikeltje apart).
Iets wat je in de url zet hoef je niet altijd iets mee te doen. In een systeem voor nieuwsberichten wat ik geïmplementeerd heb op een mod_rewrite enabled website doe ik als volgt:
www.mijndomein.nl/news/1/this-is-the-headline.html
Ik vraag dus de pagina news op en het newsid = 1. De headline gooi ik erin om het indexeren wat interessanter te maken.
Zet je rules van gemakkelijk naar moeilijk, en zet er een [L] achter. Dat betekent dat het de laatste is, anders gaat wordt misschien je rule (als dit aan de bovenste eisen voldoet) nog extra omgeschreven door de rules verder nar beneden.
Ik knikker een rewrite rule neer en ineens kan mn pagina geen images meer ophalen....
Wat ik nu wil is dus een werkend ?pagina=blaat script die ook nog eens compatibel is met een graag bijbehorende rewriterule.. Het zal wel aan mijn zelfgeschreven include script liggen.. Maar ben op het moment zo onzettend pissed op die rommel dat ik me er niet eens op kan concentreren..
Je moet precies verwijzen naar de locatie van het plaatje, bijvoorbeeld
"<img src="http://jedomeinnaam.nl/plaatjes/plaatje1.jpg">" of je moet een "image" map in home dir. zetten en dan kan je daar naar verwijzen door "<img src="/image/plaatje1.jpg">"
Door mod rewrite gaat hij namelijk zoeken in directories die niet eens bestaan. Je kan als je een website bouwt het best direct beginnen met mod rewrite anders moet je later heel veel veranderen
dus dat van JeXuS alleen dan aangepast, maar ik krijg deze fout:
Citaat:
Server fout!
De server kreeg een interne fout en kon uw vraag niet beantwoorden. De server is overbelast of er was een fout in een CGI script.
Indien u van oordeel bent dat deze server in fout is, gelieve de webmaster te contacteren.
Error 500
10.0.0.11
11/12/06 19:03:53
Apache/2.2.3 (Win32) DAV/2 mod_ssl/2.2.3 OpenSSL/0.9.8d mod_autoindex_color PHP/5.1.6
ik heb het bestand gewoon in de root van mijn localhost staan, wat doe ik verkeerd
@Ultimatum
je moet in je httpf.conf bestand bij apache, de # voor exstention mod_rewrite weghalen. Hij geef die error dus omdat je mod_rewrite niet aan hebt staan.
@BigBug
je plaatst een nieuw .htaccess bestand de map waar je plaatjes instaan met alleen
index/home werkt dus (index.php?p=home) maar als ik dat doe pakt hij dus niet de layout die in index.php staat, want de achtergrond is niet goed, de navigatie is weg, de opmaak is pleite etc...
edit: het bovenstaande probleem is op te lossen door:
Options FollowSymlinks
jullie hebben allebei volgens mij hetzelfde probleem. Omdat in jullie je images dir(s) ook nog die RewriteEngine geldt, worden de plaatjes ook "gerewrite" daarom is het essentieel dat je de RewriteEngine uitzet in je images dir's, dat is sowiezo een fout.
Kunnen jullie dus proberen wat ik in mijn vorige post beschrijf en mij vertellen of het dan wel lukt?
Ik heb die RewriteEngine uitgezet in de map images maar nu werkt het maar half + hij zegt de functies meerdere keren geinclude worden (zie mijn andere post) maar ik zal nog wel even verder kloten
Edit: Ik heb nu weet ik niet waar allemaal .htaccess + RewriteEngine off neergezet en nu werkt mijn layout naar behoren. Bedankt
Mocht er iemand tegen dezelfde fout als mij aanlopen (zegt dat functies al geinclude zijn), smijt er [L,QSA] achter en hij doet het