Avatar billede Slettet bruger
15. maj 2005 - 18:35 Der er 15 kommentarer og
1 løsning

Rewrite module endnu engang.. 404-fejl

Jeg har følgende i min .htaccess, men hvis jeg går ind på domæne/test/23/, får jeg en 404-fejl (min .htaccess ligger i /test/):

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^/([a-zA-Z0-9]+)/?$ /index.php?id=$1
Avatar billede sukos Juniormester
16. maj 2005 - 08:40 #1
Det her virker hos mig, i dir'et test for filen index.php som også ligger i test dir

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?id=$1
Avatar billede sukos Juniormester
16. maj 2005 - 08:52 #2
Hmm, og dette virker også her, for filen index.php som ligger i roden af domænet

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([/test/]+[a-zA-Z0-9/]+)$ /index.php?id=$1
RewriteRule ^([/test/]+[a-zA-Z0-9]+)/$ /index.php?id=$1


sidste linie er ikke nødvendig, medmindre du rent faktidk hat et dir som hedder test.
Men her er vist også en måde at undgå den på?
Avatar billede sukos Juniormester
16. maj 2005 - 08:53 #3
Men langhåret, det bliver man når der rodes med mod_rewrite! :O)
Avatar billede Slettet bruger
16. maj 2005 - 09:05 #4
Jeg fået stadig en 404-fejl.
Mit problem nu er, at .htaccess-filen ikke bliver læst (Det kører i en undermappe på min locale server).
Avatar billede Slettet bruger
16. maj 2005 - 09:06 #5
Ved dit første foreslag får jeg ikke en 404-fejl, men den kan ikke finde $_GET['id']
Avatar billede Slettet bruger
16. maj 2005 - 09:10 #6
Nu virker det rimelig godt. Den finder $_GET['id'], og kan inkluderer sider på baggrund af dette id.
Mit template derimod, bliver ikke loadet. går fint igennem min if(is_readable("design.htm"), men den bliver alligevel ikke læst.
Avatar billede Slettet bruger
16. maj 2005 - 09:12 #7
Smid svar. Det er fordi alle klasserne og id'erne var styret fra style.css, der skulle have en statisk sti i stedet for den relative :o)

Mange tak sukos
Avatar billede sukos Juniormester
16. maj 2005 - 09:12 #8
?
Nu er jeg ikke helt med, men:

Du vil bruge det i dir'et "test"
Her ligger så både .htaccess og index.php
I index.php tjekker du jo så om $_GET["id"] er sat, og ud fra det laver hvad du vil.
Avatar billede sukos Juniormester
16. maj 2005 - 09:13 #9
Nåh, ok! :O)
Avatar billede sukos Juniormester
16. maj 2005 - 09:14 #10
Selv definerer jeg ALTID stier, vist i html, startende med en / for at serveren skal kikke fra roden af domænet.
Avatar billede Slettet bruger
16. maj 2005 - 09:29 #11
okay. Det er nok også en god idé :o)
Avatar billede Slettet bruger
16. maj 2005 - 11:40 #12
Som det ser ud nu, får jeg en 404 hvis jeg ikke skriver noget efter test/. Kan dette laves om så jeg får det samme som hvis $_GET['id'] ikke er sat?
Avatar billede Slettet bruger
16. maj 2005 - 11:43 #13
Nej det er ikke en 404 jeg får. Det er en "Serveren blev ikke fundet"
Avatar billede Slettet bruger
16. maj 2005 - 12:43 #14
Problemet er at:

1. Det godtager ikke bogstaver (selvom der også står a-zA-Z)

2. Hvis der ikke står et id, får jeg en 404 fejl.
Avatar billede sukos Juniormester
16. maj 2005 - 15:43 #15
Forstår ikke problemet?

.htaccess og index.php ligger begge i dir'et test ???
Avatar billede sukos Juniormester
16. maj 2005 - 15:44 #16
Men.....
1. Læg mærke til hvilke tegn du har med i RewriteRule
2. Står id hvor?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester