[PHP] nieuws.php/253/TITEL-VAN-BERICHT.html

Pagina: 1
Acties:
  • 659 views

Acties:
  • 0 Henk 'm!

  • WoBBeL
  • Registratie: Juni 2004
  • Laatst online: 11-09 13:01
Ik ben op zoek naar een oplossing om mijn nieuwsberichten net zoals Tweakers.net weer te geven.

Voorbeeld: nieuws: 'Meer dan een miljard muziekdownloads in 2008'

Alles wat achter /57592/ staat doet er eigenlijk niet meer toe, maar Google kan dit stukje tekst wel gebruiken voor de relevantie.

Hoe zorg ik ervoor dat ik zelf nieuws.php/1259/titel-van-nieuwsbericht.html kan gebruiken?

Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
url rewrite

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • frederikske
  • Registratie: Oktober 2002
  • Niet online
Precies ja.

(In de veronderstelling dat je server Apache draait...)

http://www.yourhtmlsource...agement/urlrewriting.html

[ Voor 27% gewijzigd door frederikske op 02-01-2009 11:15 ]


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • sjolmers
  • Registratie: September 2000
  • Laatst online: 30-06 17:05

sjolmers

het leven is té kort, geniet!

adr opleidingen en meer adr opleidingen


Acties:
  • 0 Henk 'm!

  • WoBBeL
  • Registratie: Juni 2004
  • Laatst online: 11-09 13:01
Uiteraard gebruik ik PHP met Apache.
En Mod Rewrite was inderdaad wat ik zocht!!!

Acties:
  • 0 Henk 'm!

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

Multiviews kan toch net zo makkelijk? (Scheelt je in te moeten lezen in Rewriting ;) )

Acties:
  • 0 Henk 'm!

  • WoBBeL
  • Registratie: Juni 2004
  • Laatst online: 11-09 13:01
Ik gebruik nu een script met index.php/waarde/waarde en index.php/waarde/waarde/iets-anders.html werkt ook.
Nu wil ik graag mijn .php extensie verbergen en dat lukt prima met dit script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
RewriteEngine On
RewriteBase /

# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [R=301]


# remove index
RewriteRule (.*)/index$ $1/ [R=301]

# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]

# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]


Ik kan nu dus nieuws.php aanroepen met nieuws, maar ik kan geen nieuws/waarde/waarde meer doen, dan krijg ik een internal server error.
Is dat nog op te lossen? Dan kan ik nieuws/25/titel-van-bericht doen zonder .php extensie

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Alles doorsturen naar een index.php :) Als je daar je REQUEST_URI uitleest en explode op "/" krijg je de url.

Als .htaccess kan je zoiets doen:
code:
1
2
3
4
5
6
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
In je index.php zie je vervolgens dat je "nieuws" aanroept, dus kan je index.php je nieuws.php gaan includen. Zoiets :)

Acties:
  • 0 Henk 'm!

  • WoBBeL
  • Registratie: Juni 2004
  • Laatst online: 11-09 13:01
mithras schreef op vrijdag 02 januari 2009 @ 12:24:
Alles doorsturen naar een index.php :) Als je daar je REQUEST_URI uitleest en explode op "/" krijg je de url.

Als .htaccess kan je zoiets doen:
code:
1
2
3
4
5
6
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
In je index.php zie je vervolgens dat je "nieuws" aanroept, dus kan je index.php je nieuws.php gaan includen. Zoiets :)
Lijkt mij nogal een omweg, moet toch wel te doen zijn met alleen .htaccess?

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je kan per pagina (nieuws.php, agenda.php, blog.php, ietsanders.php) een conditie aanmaken en daarbij een regel opstellen. Misschien voor de eerste keer makkelijker, maar op den duur zeker niet zo flexibel.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik ben het ook eens met mithras, dit is veel flexibeler op den duur. Maar de TS heeft niet echt gezocht want deze vraag is minstens 100 keer gesteld hier.

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Cartman! schreef op vrijdag 02 januari 2009 @ 12:55:
Ik ben het ook eens met mithras, dit is veel flexibeler op den duur. Maar de TS heeft niet echt gezocht want deze vraag is minstens 100 keer gesteld hier.
offtopic:
Tja, een goed begin zeggen ze dan he...

Acties:
  • 0 Henk 'm!

  • Frash
  • Registratie: Mei 2002
  • Laatst online: 10:07
mithras schreef op vrijdag 02 januari 2009 @ 12:24:
Alles doorsturen naar een index.php :) Als je daar je REQUEST_URI uitleest en explode op "/" krijg je de url.

Als .htaccess kan je zoiets doen:
code:
1
2
3
4
5
6
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
In je index.php zie je vervolgens dat je "nieuws" aanroept, dus kan je index.php je nieuws.php gaan includen. Zoiets :)
Mja dan moet je dus voor elke upload van een statisch bestand je exclude rules in je .htaccess doorlopen om te kijken of de extensie (jpg, JPG, jpeg, JPEG, css, js, swf, flv, wmv, avi, mpeg en watniet) er al in voorkomt?

Dat is net zo goed slordig.

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Nope, daarvoor staat regel #4 en #5 als conditie. Je kan checken op bestand en folder in het algemeen. Anders ga je problemen krijgen dat in je html al je gelinkte scripts en stylesheets ook worden gerewrite ;)

Acties:
  • 0 Henk 'm!

  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 08-09 16:22
Kippenijzer schreef op vrijdag 02 januari 2009 @ 11:46:
Multiviews kan toch net zo makkelijk? (Scheelt je in te moeten lezen in Rewriting ;) )
Lijkt me ook de beste oplossing!

.htaccess:
code:
1
Options Indexes FollowSymLinks MultiViews All


PHP:
1
list ($id) = explode("/", substr($_SERVER['PATH_INFO'],1));

Je kunt dan een url maken zoals nieuws/10/Titel van het bericht.html. Het laatste deel van de url wordt dan genegeerd, hij gebruikt 10 als $id. Ook hoeft .php er niet meer achter.
Cartman! schreef op vrijdag 02 januari 2009 @ 12:55:
Maar de TS heeft niet echt gezocht want deze vraag is minstens 100 keer gesteld hier.
Klopt, dus ik maak van de gelegenheid gebruik door mijn eigen vraag in dit topic te plempen: wat is precies het nut van dat laatste deel ('titel-van-bericht.html'). Technisch gezien is het totaal nutteloos, ook zonder dat deel werkt de pagina immers. Is het dan zo belangrijk voor SEO?

[ Voor 32% gewijzigd door StephanVierkant op 02-01-2009 13:15 . Reden: eigen vraag geplempt ]


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Stephan4kant schreef op vrijdag 02 januari 2009 @ 13:12:
[...]

Klopt, dus ik maak van de gelegenheid gebruik door mijn eigen vraag in dit topic te plempen: wat is precies het nut van dat laatste deel ('titel-van-bericht.html'). Technisch gezien is het totaal nutteloos, ook zonder dat deel werkt de pagina immers. Is het dan zo belangrijk voor SEO?
Beetje topickaping, maar goed, dat voornemen zit er nog steeds.

SEO is een punt, maar ook voor de gebruiker. Wanneer je linkt naar http://domain.nl/blog/1230123 weet niemand wat het is. Als je linkt naar http://domain.nl/blog/123987/happy-new-year.html heb je wél een idee.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Goed, deze vraag is dus al een heel aantal keren voorbij gekomen en wordt bovendien grotendeels beantwoord in onze FAQ, ondanks dat je vraag zelfs niet hier hoort maar in Windows Servers en Server-software. (Zie Waar hoort mijn topic?)

Aangezien je blijkbaar niet de moeite hebt willen nemen om in onze FAQ of zelfs maar in Waar hoort mijn topic? te kijken, waarom verwacht je dan wel dat wij moeite steken in het oplossen van jouw vraag? Aangezien ik die eigen inzet mis doe ik dit topic dicht.

Om toch inhoudelijk even te reageren: de oplossing van mithras in "[PHP] nieuws.php/253/TITEL-VAN-BERICHT.html" is wat ik ook zou gebruiken. Alles in rewriterules oplossen is een nobel streven, maar op den duur kom je er toch achter dat dat lastiger uitbreiden is, en bovendien lastiger te bugfixen als je eenmaal een wat groter aantal rules hebt.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.