Gå til innhold

CMS + php + mod_rewrite == knot[LØST]


Anbefalte innlegg

Skrevet (endret)

jeg driver fortsatt med et CMS system og fikk hjelp her da jeg begynte med det.

 

link: https://www.diskusjon.no/index.php?showtopic=426005

 

 

når det gjelder linkingen av innleggene var det noen som foreslo at linkene mine skulle se sånn ut:

 

http://example.org/archives/2005/06/01/dette-er-en-slug

 

dette for å gjøre det lettere for søkemotorer osv.

 

for å kunne gjøre dette ble det sagt at kunnskap til mod_rewrite skulle brukes. driver å titter på apache sin dokumentasjon, men er fortsatt ganske LOST på området.

 

jeg lurer på om noen kunne peke meg i en bedre retning, eller komme med sine erfaringer til denne bruk av mod_rewrite i sine CMS systemer.

 

på forhånd takk!

Endret av phun-ky
Videoannonse
Annonse
Skrevet

Hei,

mod_rewrite har lite med PHP å gjøre - men det er en apache instilling. Selv om du har tenkt til å bruke det i sammenheng med PHP scripts så er nok dette en feil plassering av tråden din.

 

mod_rewrite kom på moten for et par år siden, siden den gang var det få søkemotorer som registrerte sider som inneholde ?var=value.... Jeg er ikke helt sikker på hvilke søkemotorer som i dag ikke registrerer slik sider, men det kanskje finnes noen ennå.

 

Uansett, det er best at jeg bare poster noen linker til deg så kan du lese litt på de. De linkene jeg har på området er litt gamle, men de fungerer fortsatt.

 

http://www.devshed.com/c/a/Apache/Search-E...th-mod-rewrite/

http://www.sitepoint.com/article/guide-url-rewriting

 

og så kan du kikke på apache sine sider: http://httpd.apache.org/docs/1.3/misc/rewriteguide.html

Skrevet

for det første, noen flytet på tråden min. den var opprinnelig satt til webdesign tråden. mente dette var riktig da det i grunn var fortsettelse på den topicen som er linket i min første post.

 

for det andre: takk for hjelpen

Skrevet (endret)

har aktivert mod_rewrite

 

har lagd denne .htaccess filen:

 

RewriteEngine on
RewriteRule /community/(.*)/(.*)/(.*) /community/artikkel.php?year=$1&month=$2&day=$3&art=$4

 

og bruker denne URI:en:

 

http://www.umedia.no/community/2005/11/08/...vikles-fremover

 

for å hente ut denne:

 

http://www.umedia.no/community/artikkel.ph...vikles-fremover

 

og dette funker ikke.. hva gjør jeg galt?

Endret av phun-ky
Skrevet (endret)

en god ide er å printe ut hva de forskjellige variablene får for verdi.

også ville jeg nok byttet ut (.*) med (\d+)

Ville også testet å ha

RewriteRule prod/(\d+)/(\d+)/(.*)/$ /community/artikkel.php?year=$1&month=$2&day=$3&art=$4

 

også lurt å bruke base tag'n

øverst i HEAD skriver du <base href="http://www.umedia.no/">

Endret av orsus
Skrevet (endret)

øverst i head? i .htaccess?

 

eller i php fila?

 

har denne .htaccess fila nå

RewriteEngine on
RewriteRule /prod/(\d+)/(\d+)/(.*)/$ /community/artikkel.php?year=$1&month=$2&day=$3&art=$4

 

funker fortsatt ikke.

 

edit:

 

RewriteEngine on
RewriteRule ^/prod/([0-9]+)/([0-9]+)/([0-9]+)/([ad]*) /community/artikkel.php?year=$1&month=$2&day=$3&art=$4

 

fungerer fortsatt ikke

Endret av phun-ky
Skrevet (endret)

endret /prod til /community

 

 

altså:

 

/community/([0-9]+)/([0-9]+)/([0-9]+)/([ad]*) <-- jeg vil ha /community/TALL/TALL/TALL/bokstaver og -

 

prøve på nytt:

 

RewriteEngine on
#RewriteRule .* http://www.google.com
RewriteRule community/([0-9]+)/([0-9]+)/([0-9]+)/(.*) /community/artikkel.php?year=$1&month=$2&day=$3&art=$4

 

google rewriten funker (når # fjernes)

Endret av phun-ky
Skrevet (endret)

på slutten hvor? og med det oppsettet jeg har nå, funker det å ha bindestrek?

 

/community/2002/12/12/sluggen-her <--??

 

kanskje jeg glemte å si det, .htaccess filen ligger i mappen /community/

 

doh..

 

nå skjønte jeg saker og ting.. takk for hjelpen!!

 

sånn:

 

RewriteEngine on
RewriteRule ([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ artikkel.php?year=$1&month=$2&day=$3&art=$4

Endret av phun-ky
Skrevet

+ står for [1,..]

* står for [0, ..]

 

men er ikke så farlig.

 

Du bør også ha noen settninger om man ikke skriver inn hele regla da:

/community/2002/12/

Så man får opp alt den måneden.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...