[Mod_rewrite]Hoe krijg ik dit voor mekaar?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

DDragonz

DDragonz

08/05/2007 20:30:00
Quote Anchor link
Hallo
Ik heb een vraagje over mod_rewrite.
Ik kan wel dit doen:
Normale url:
http://www.domein.nl/index.php?waard1=haha&waarde2=niks
naar
www.domein.nl/haha/niks/

Maar nu wil ik het anders doen.
Stel ik heb een simpele form met in het tabel een id, title (de rest maakt even niks uit). En de url ziet er dan als volgend uit in een normale simpele form.
domein.nl/index.php?id=10
maar nu wil ik het SEO vriendelijk doen. En het als volgde hebben:
domein.nl/index.php/10-En-hier-de-title-van-de-form.html
Dus de id en dan de naam gestrip van alle tekens die niet mogen voorkomen en spaties vervangen door een -. Maar ik vraag niet om de heleaplicatie te maken. Maar ik weet niet hoe ik de mod_rewrite moet maken?
Alvast bedankt,
DDragonz
Gewijzigd op 01/01/1970 01:00:00 door DDragonz
 
PHP hulp

PHP hulp

07/11/2024 12:27:05
 
DDragonz

DDragonz

08/05/2007 22:39:00
Quote Anchor link
Heb ik dit niet goed genoeg uitgelegd?

Moderator edit::
Bumpen:
Twee of meer keer achter elkaar in je eigen topic posten heet bumpen.

Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig deAfbeelding knop om je tekst aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door DDragonz
 
B a s
Beheerder

B a s

08/05/2007 23:52:00
Quote Anchor link
Ik gebruik mod rewrite..

Dat is een module van Apache, standaard is die wel meegenomen in de Apache installatie..

Dit is een voorbeeldje van mijn .htaccess bestand die je in de ROOT van je httpdocs moet plaatsen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
php_value session.use_trans_sid "0"
Options +FollowSymLinks

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule .* - [L]

RewriteRule ^links/?$ links.php?url=$1 [QSA,L]
RewriteRule ^links/([^/]+)/?$ links.php?url=$1 [QSA,L]

RewriteRule ^cat/([^/]+)/?$ cat.php?cat=$1 [QSA,L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)/?$ message.php?y=$1&m=$2&d=$3&title=$4 [QSA,L]


Het zijn dus gewoon regular expressions die ik gebruik.. Ik ben er niet zo'n ster in maar hier wat uitleg:

^ = Vooraan beginnen
([0-9] = Cijfers van 0 t/m 9
{4} = 4 cijfers lang
/ = de slash in je URL adres

Iedere keer dat je ( en ) gebruikt, maak je een nieuwe variabele aan. Dus: $1, $2, $3 enzovoort. Die gebruik je na de regular expression, bijvoorbeeld:

message.php?y=$1&m=$2&d=$3&title=$4

$1 = dus ([0-9]{4}) -> 0 t/m 9, 4 cijfers lang
$3 = dus ([0-9]{2}) -> 0 t/m 9, 2 cijfers lang

Je roept hier URL adressen mee aan zoals:

http://website.nl/2007/04/02/De+naam+van+je+bericht/

$4 is dus "De+naam+van+je+bericht". Hierbij voer je een query uit zoals:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM tabel WHERE title LIKE '%De+naam+van+je+bericht%'


Kijk verder even naar deze functies: urlencode en urldecode. Succes :)
 
Thijs X

Thijs X

09/05/2007 09:17:00
Quote Anchor link
Goede uitleg bas!
Alleen zou ik toch nog wel het id meegeven in de url dat is makkelijker voor je query's uit te voeren.
Want als je nu 2 titels hebt die bijna hetzelfde zijn gaat het niet goed.
 
B a s
Beheerder

B a s

09/05/2007 09:25:00
Quote Anchor link
een ID nummer is niet nuttig voor een gebruiker om in een URL adres te zien. Je geeft de datum al mee. De kans dat een titel exact hetzelfde is op dezelfde datum is vrij klein.

De datum match je natuurlijk ook, maar dan letterlijk:

WHERE year = $1, month = $2, day = $3.
 
DDragonz

DDragonz

09/05/2007 14:52:00
Quote Anchor link
Hmm snap alleen de basis van mod_rewrite. De uitleg wist ik al, maar toch nog even een herhaling. Maar de rest als:

php_value session.use_trans_sid "0"
Options +FollowSymLinks

en

RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule .* - [L]

Snap ik niet, maar dat zal ik eens googlen. En persoonlijk zou ik het veranderen naar http://website.nl/2007-04-02/De+naam+van+je+bericht/
Dat gaat toch ook nog of niet? En kan je die + ook in het url gebruiken? Maar het is beter om - te gebruik (SEO). Want dan zal google ze als lossen worden zien.

Als iemand "De naam je bericht" intikt zal ie dit ook vinden.

edit:
php_value session.use_trans_sid "0"

Over dat eerst heb ik gevonden waarvoor het dient. En het is zeer belangrijk als je een goeie SEO wil toepassen en je sessions gebruikt waarbij de gebruiker de cookies uit heeft staan.

Alleen daar gebruiken ze:
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0

Hier staat een oplossing, maar dit luikt mij niet echt goed. Kan het niet anders?
http://www.optiseo.be/blog/index.php?pagina=blogi.php&b=125
Gewijzigd op 01/01/1970 01:00:00 door DDragonz
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.