SEO met PHP

Status
Niet open voor verdere reacties.

Tha Devil

Moderator
Forumleiding
Moderator
Lid geworden
1 sep 2002
Berichten
16.494
Besturingssysteem
macOS Sequoia
Iets wat ik al maanden wil proberen heb ik vandaag gedaan.

Ik probeer SEO url's maken m.b.v. PHP onder de knie te krijgen.

Wat zijn SEO url's? Dit is een voorbeeld:

Nu is het mogelijk om dit via PHP gedaan te krijgen, ik heb wat tutorials nagekeken:
- Tutorial 1
- Tutorial 2
- Tutorial 3
Uiteindelijk ben ik met tutorial 1 aan de slag gegaan en een ding werd mij duidelijk: ik moet iets met een .htaccess bestand doen. Hier is het dan ook waar ik steeds stuk loop met gevolg dat ik de rest van de tutorial niet kan uitvoeren.

Voor het testen heb ik de laatste versie van XAMPP geinstalleerd omdat dit lekker snel ging.

Ik moet dus een .htaccess bestand hebben met de inhoud:
PHP:
<Files soccer>
ForceType application/x-httpd-php
</Files>

Dit krijg ik nog wel voor elkaar, maar als ik dan http://localhost/soccer in mijn browser intyp krijg ik een 404. In de tutorial wordt dit ook aangegeven en een soort van oplossing gegeven.
You should see an empty page in your browser. If you get a 404 file not found error or any other type of error, then double check your httpd.conf file to make sure that you are allowed to setup directives in a .htaccess file for the directory where the soccer file exists.

Dus ik heb gekeken in httpd.conf van Apache en gekeken wat er bij AllowOverride staat, dat is All. Ik neem dus aan dat alles in orde is en hij iets met mijn .htaccess moet doen.

Als ik in het errorlog van Apache kijk zie ik deze melding:
script 'C:/Documents and Settings/Talen/Bureaublad/xampp/htdocs/soccer' not found or unable to stat
Ik weet zelf niet zo goed wat ik met deze melding kan doen, misschien hier iemand.

Overall is mijn vraag hoe ik dus de SEO url's goed kan laten werken :confused:
 
De links die jij geeft maken allemaal gebruik van mod_rewrite van Apache, terwijl ik het d.m.v. PHP wil laten doen. :confused:
 
Ik moet uiteindelijk toegeven dat ik het op de manieren in jou tutorials voor elkaar heb gekregen.

Ik had iemand gemaild dit het op zijn website gebruikt, hij raadde mij aan me te verdiepen in "URL rewriting". Zodoende kwam ik op de functie mod_rewrite uit.

Dit is een script dat ik nu werkend heb via de url http://localhost/player/1/
.htaccess:
PHP:
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^player/([0-9])$  player/$1/ [nc]
RewriteRule ^player/([0-9])/$ player.php?id=$1

player.php:
PHP:
<?php
if($_GET['id'] == 1)
{
	echo"ThaDevil";
}
else
{
	echo"humptiedumptie";
}
?>

Wel moest ik deze module in de config van Apache aanzetten (stond uit namelijk):
LoadModule rewrite_module modules/mod_rewrite.so

Het werkt ondertussen prima, hier kan ik mooi op verderbouwen.
 
Laatst bewerkt:
Maar dat is nog steeds met Apache.

PHP:
<?php

$b = basename ( $_SERVER['SCRIPT_FILENAME'] );

$v = explode ( '/', substr ( $_SERVER['PHP_SELF'], strpos ( $_SERVER['PHP_SELF'], $b ) + strlen ( $b ) + 1 ) );
$_GET = array (); // Empty $_GET. Niet echt netjes, maar makkelijk overschakelen tussen applicaties.

for ( $i = 0; $i < count ( $v ); $i += 2 )
{
  $_GET[ $v[ $i ] ] = $v[ ( $i + 1 ) ];
}

print_r ( $_GET );

?>

Zoiets gebruik ik met een eigen project. Werkt prima. Het is niet echt netjes, $_GET overschrijven maar je moet wat ;)
 
Voor die **** gebruik je gewoon Apache Multiviews, die pleur je gewoon aan in je .htaccess bestand, veeeeel makkelijker dan mod_rewrite. Dan kun je met een lief PHP scriptje de rest doen :).
 
blaataap zei:
Voor die **** gebruik je gewoon Apache Multiviews, die pleur je gewoon aan in je .htaccess bestand, veeeeel makkelijker dan mod_rewrite. Dan kun je met een lief PHP scriptje de rest doen :).

Voorbeeld? Een idee voorschotelen kan iedereen, het is makkelijk als je er meteen een voorbeeld bij doet :confused:

Edit:

@bash:
Het voorbeeld dat jij geeft is dus precies wat ik niet wil hebben, nu krijg je onnodige dingen in je URL zoals dat key1 en key2 plus dat je ergens nog een .php hebt zitten.
 
Laatst bewerkt:
Tha Devil zei:
Voorbeeld? Een idee voorschotelen kan iedereen, het is makkelijk als je er meteen een voorbeeld bij doet :confused:

Edit:

@bash:
Het voorbeeld dat jij geeft is dus precies wat ik niet wil hebben, nu krijg je onnodige dingen in je URL zoals dat key1 en key2 plus dat je ergens nog een .php hebt zitten.

Hoezo ? Ik mag toch hopen dat je weet wat $_SERVER['REQUEST_URI'] enzo doet, en dat je op google kunt zoeken naar multiview + apache ?
 
Dan maak je toch zelf de index..

Als jij /koe hebt, dan weet jij intern in je script dat $_GET[ 0 ]; de waarde 'koe' bevat.. Pas het voorbeeld 'n beetje aan, and you're there.. Denk na, google wat, it ain't hard..

En voor dat .php weghebben ? Geen probleem.. .htaccess bestandje aanmaken met

Code:
AddHandler application/x-httpd-php

Nu pas je je PHP scriptje een beetje aan, en je bent niet meer afhankelijk van mod_rewrite.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan