Avatar billede kasbas91 Nybegynder
25. august 2010 - 22:09 Der er 11 kommentarer og
1 løsning

Mod_rewrite htacces kan ikke få det til at virke.

Hej

jeg har et problem med Mod_rewrite htacces

kan nemlig ikke få lavet min urls pæne.

Min htacces ser således ud:

Options +FollowSymLinks
RewriteEngine on
RewriteRule default/page/(.*)/ default.php?page=$1
RewriteRule default/page/(.*) default.php?page=$1                   

Mine urls ser sådanne ud:


http://www.iteksamen.prowdesign.dk/index.php?page=forside
http://www.iteksamen.prowdesign.dk/index.php?page=om_os

og de er dynamiske fra en mysql database..


Skal man tilføje noget i ens php kode...
Avatar billede repox Seniormester
25. august 2010 - 23:01 #1
Hvad med om du startede med at lukke de spørgsmål du har efterladt? Et par af dem er endda et par år gamle.
Tag nu og luk dem med stil for en gangs skyld ( til dem som undrer sig over hvad jeg mener: http://www.eksperten.dk/spm/915810#reply_7629972 )

I tilfælde af du nu vælger at nedlægge din 'nye' bruger her også, synes jeg lige du skulle tage og tænke over den seriøsitet du indtil videre har valgt at forbinde med dit firmanavn og tilhørende website...
Avatar billede kasbas91 Nybegynder
25. august 2010 - 23:14 #2
Nu har jeg lukket dem og undskyld repox og til eksperten...
Avatar billede coderdk Praktikant
25. august 2010 - 23:18 #3
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^default/page/(.*)/?$ /index.php?page=$1
Avatar billede kasbas91 Nybegynder
25. august 2010 - 23:22 #4
Jeg ved ikke så meget om mod_rewrite..

Men jeg kan bare ikke få det til at virker lige meget hvad jeg gør..

coderdk:
Dit kunne jeg heller ikke få til at virke, men tak alligevel:)

Skal man have et php script også...

Fordi jeg kan ikke få min .htacces til at virke...
Avatar billede coderdk Praktikant
25. august 2010 - 23:34 #5
Får du fejl, eller får du en 404? Hvis du får en 404, og din fil rent faktisk hedder ".htaccess" så er .htaccess ikke slået til på dit webhotel. Hvis du ikke får en 404, så check om du får fat i index.php ved at ændre index.php til f.eks.:

<?php
echo "i index.php GET: ";
print_r( $_GET );
exit;


Det burde virke ;P
Avatar billede kasbas91 Nybegynder
25. august 2010 - 23:38 #6
Hov, jeg havde stavet det forkert filen..

Men nu ser de sådanne ud:
http://www.iteksamen.prowdesign.dk/forside.html

Men da de er dynamiske og kommer fra en mysql database.
Så kan man ikke få .htaccess til at rette dem om automatiske.

fra: http://www.iteksamen.prowdesign.dk/index.php?page=forside

til: http://www.iteksamen.prowdesign.dk/forside.html

Så man ikke skal sidde og rette dem hele tiden i databasen..

Og når man føre musen over dem, ser man de gamle:
http://www.iteksamen.prowdesign.dk/index.php?page=forside

Håber i forstår hvad jeg mener.. ;P
Avatar billede coderdk Praktikant
25. august 2010 - 23:41 #7
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^default/page/(.*)/?$ /$1.html

Men linkene bliver ikke rettet på magisk vis, du er nødt til at rette dem manuelt, hvor du har skrevet dem manuelt.
Avatar billede kasbas91 Nybegynder
25. august 2010 - 23:45 #8
Okay det må jeg så gøre, og rigtig mange tak for hjælpen, men hvad gør:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^default/page/(.*)/?$ /$1.html

sådan helt præcis...
Avatar billede kasbas91 Nybegynder
26. august 2010 - 00:09 #9
Men jeg kan ikke få fjernet index.php?page=

nu hvor mine alias til linksene er ændret.
ser de sådan ud:

http://www.iteksamen.prowdesign.dk/index.php?page=forside.html

Min kildekode finder i her:

http://codepad.org/X5RetYuZ

Håber i har lyst til at hjælpe mig.. ;P
Avatar billede coderdk Praktikant
26. august 2010 - 00:30 #10
Options +FollowSymLinks

Den gør ikke noget relevant, den følger symlinks i filsystemet, som var det rigtige filer.

RewriteEngine on

"Tænder for" rewrite mekanikken.

RewriteBase /

Fortæller hvor vores rewrite skal starte fra, i dette tilfælde webroden.

RewriteRule ^default/page/(.*)/?$ /$1.html

Her fortæller vi at den skal fange URL'er der starter med default/page/XYZ/ og slutter med et tegn eller en slash. Hvis den slutter med en slash, skal den ignorere den. Ellers skal den fange XYZ og hvad der ellers står, og i stedet kalde /ZYX.html

Det lader til at du har fået det til at virke? Ellers skal du vel bare ændre index.php?page={$subject->alias} til /{$subject->alias}.html
Avatar billede coderdk Praktikant
26. august 2010 - 00:31 #11
Og et svar fra mig.

Rewrite bruger i øvrigt regular expressions, som er guld værd at kende, se også PCRE funktionerne i PHP (preg_match etc)
Avatar billede kasbas91 Nybegynder
26. august 2010 - 00:39 #12
Mange tak coderdk for din hjælp...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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