[php] nette links

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hoi, ik ben een maatwerk CMS aan het opzetten en wil een algemene module maken voor afhandelen en maken van nette url's.

echter als ik op got zoek zie ik alleen topic die met mod_rewrite werken.

Nu weet ik dat het mogelijk is om het volgende te doen:

http://localhost/info.php/artikel/1/hoofdstuk/2/pagina/5

maar dan moet ik voor zorgen dat alle links en image's absoluut staan gelinkt. (dit is echter wel op te lossen door een base url te defineren

echter als ik het volgende doe:

http://localhost/info.php?/artikel/1/hoofdstuk/2/pagina/5

vraag ik me af of het netje's word afgehandelt door de zoekmachine's.

word er uberhaupt verschil gemaakt tussen (door zoekmachines):

- http://localhost/info/artikel/1/hoofdstuk/2/pagina/5
en
- http://localhost/info.php/artikel/1/hoofdstuk/2/pagina/5

[ Voor 7% gewijzigd door Verwijderd op 05-10-2004 21:53 ]


Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

Over je laatste vraag: dat verschil maak je zelf met je rewriterules.
Voor zoekmachines is dat verschil irrelevant.

Zoekmachines zullen je trouwens gewoon indexeren. Als ze je url tegenkomen, dan wordt die gewoon geïndexeerd. Maar als je een url als http://localhost/info.php?/artikel/1/hoofdstuk/2/pagina/5 krijgt, dan doe je imho toch iets niet goed. ;)

[ Voor 8% gewijzigd door NMe op 05-10-2004 21:55 ]

'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.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe84 schreef op 05 oktober 2004 @ 21:55:
Over je laatste vraag: dat verschil maak je zelf met je rewriterules.
Voor zoekmachines is dat verschil irrelevant.

Zoekmachines zullen je trouwens gewoon indexeren. Als ze je url tegenkomen, dan wordt die gewoon geïndexeerd. Maar als je een url als http://localhost/info.php?/artikel/1/hoofdstuk/2/pagina/5 krijgt, dan doe je imho toch iets niet goed. ;)
het gaat er om dat veel searchengine's geen pagina's indexeren met paramaters om niet in een eindeloze web te raken. Daarom dan ook de structuur waarbij het lijkt alsof het een nette url is zonder dag ik apache/mod_rewrite hoeft te gebruiken

Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

Ah, ik begrijp je. :) Hmm, ik denk niet dat je je zorgen moet maken. Google heeft bijvoorbeeld geen problemen met het indexeren van phpBB fora, en ook mijn zelfgemaakte sites (zonder mod_rewrite) worden perfect geïndexeerd. Ditzelfde gaat op voor de meeste andere grote zoekmachines als Yahoo, Lycos, MSN en Ilse, dus ik denk niet dat je je druk hoeft te maken. :)

'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.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe84 schreef op 05 oktober 2004 @ 22:38:
Ah, ik begrijp je. :) Hmm, ik denk niet dat je je zorgen moet maken. Google heeft bijvoorbeeld geen problemen met het indexeren van phpBB fora, en ook mijn zelfgemaakte sites (zonder mod_rewrite) worden perfect geïndexeerd. Ditzelfde gaat op voor de meeste andere grote zoekmachines als Yahoo, Lycos, MSN en Ilse, dus ik denk niet dat je je druk hoeft te maken. :)
ja maar dan hoef ik het hele concept van nette links niet te toepassen als ik dat wilde. Ik wil juist door de meeste geindexeerd worden en zoek dus een oplossing om goeie nette links te maken.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13:32

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 06 oktober 2004 @ 09:37:
[...]


ja maar dan hoef ik het hele concept van nette links niet te toepassen als ik dat wilde. Ik wil juist door de meeste geindexeerd worden en zoek dus een oplossing om goeie nette links te maken.
Zoals al vertelt indexeerd google het prima. Dat geld ook voor msn, yahoo, overture, etc. etc. Dus de meeste zoekmachines zullen het prima indexeren. Zolang de parameters maar niet wijzigen om op dezelfde pagina uit te komen is er niks aan de hand.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • RobzQ
  • Registratie: Februari 2000
  • Laatst online: 21-12-2020

RobzQ

greedy as a pig

Deze topic : [rml][ BC3] [ PHP] "/" inplaats van "&" en "?"[/rml] (Van voor BC3) heeft mij erg goed geholpen.

..so be wary of any man who keeps a pig farm..


Acties:
  • 0 Henk 'm!

  • Expander
  • Registratie: Februari 2001
  • Niet online
Ik heb zelf
code:
1
2
RewriteEngine on
RewriteRule ^.*$ index.php [L]


Vervolgens handel ik alles af in index.php. Die explode de REQUEST_URI en gaat dan zelf de juiste gegevens terug sturen (ook plaatjes met de juiste headers). Het nadeel hiervan is dat alles via 1 script gaat, misschien zorgt dat voor performanceproblemen. Je zou het natuurlijk kunnen verfijnen door de images directory bijvoorbeeld niet te laten rewriten of URL's met bepaalde extenties niet te laten rewriten.

Expanding the inexpandable


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Ik gebruik hetzelfde als jij, maar ik prefix alle links met een relatief pad. Dit is de code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        $_FRIENDLY = array(); // declare array
        if(preg_match("/\.php\\/(.*)$/",$_SERVER['PHP_SELF'],$matches)) // find the variables
        {
                $t = explode('/',$matches[1]); // put them in an array...
                for ($i = 0; $i < count($t); $i = $i+2)
                {
                        if (isset($t[$i+1]) && !empty($t[$i])) // and make it a nice assoc. array
                        {
                                $_FRIENDLY[$t[$i]] = $t[$i+1];
                        }
                }
        }
//      $HTTP_FRIENDLY_VARS &= $_FRIENDLY // uncomment this line if you prefer to use the deprecated $HTTP_SOMETHING_VARS style.
        $rootfolder = (preg_match("/\\/$/",$_SERVER['PHP_SELF'])) ? ('../') : (''); // if a trailing slash is found, a an extra '../'
        $rootfolder .= str_repeat('../../',count($_FRIENDLY)); // build a relative path


$rootfolder zet je dus voor een pad.

Vb:
PHP:
1
$link = $rootfolder.'index.php';

[ Voor 11% gewijzigd door Skaah op 06-10-2004 12:43 ]

Pagina: 1