Scripts

URL Request Parser V1.1

Veel mensen zoeken een makkelijke manier om zoekmachine-vriendelijke url's te maken. Helaas lukt dit niet altijd, omdat mod_rewrite codes, en php codes soms nogal ingewikkeld kunnen zijn. Dit script is er voor bedoeld om de extensie van een bestand weg te halen. Voor verdere uitleg kun je in het script kijken.

urlparser.php
<?php

#########################################################################################
##                               URL Request Parser V1.1                               ##
##                                                                                     ##
## Het vermenigvuldigen, verspreiden, gebruiken (ook commercieel) en aanpassen is      ##
## toegestaan. Het verkopen van dit script voor geld, goederen, of andere ruilmiddelen ##
## is niet toegestaan!                                                                 ##
##                                                                                     ##
#########################################################################################



/*#######################################################################################
Vereisten:
- PHP
- Apache
- Ondersteuning voor .htaccess bestanden
- Mod_rewrite



Installatie:
1. Configuratie veranderen
2. Uploaden naar server
3. Bijgevoegde .htaccess code toevoegen/uploaden



Werking:
Dit script maakt het mogelijk om voor een bepaalde map geen extensie meer te hoeven
gebruiken:

http://www.example.com/index.php
wordt
http://www.example.com/index

http://www.example.com/forum/index.html
wordt
http://www.example.com/forum/index

http://www.example.com/forum/index.php?topic=0345121&post=241575
wordt
http://www.example.com/forum/index?topic=0345121&post=241575

Als er meerdere bestanden met dezelfde naam zijn, maar niet met dezelfde extensie, dan
zal het script het rijtje van alle opgegeven extensies langs gaan. Als .php voor .html
staat, zal het .php bestand worden ingevoegd.



.htacces inhoud:
<IfModule mod_rewrite.c>

    RewriteEngine On

    # bestaande mappen of bestanden
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.* - [L]

    # niet-bestaande mappen of bestanden

    RewriteRule ^(.*)/? urlparser.php?q=$1 [L]

</IfModule>


#######################################################################################*/



#########################################################################################
// Configuratie

// Toegestane extensies
$extensions = array(

'.php',
'.html',
'.phtml',
'.php3',
'.xml',
'.asp',
'.apsx',
'.jsp'

);

// Niet gevonden pagina
$notexist   = "nietgevonden.php";

#########################################################################################



#########################################################################################

$url       = trim($_GET['q']);                                               // Haal opgevraagde url op
$url_parse = parse_url($url);                                                // Verdeel url in stukken
$url       = rtrim($url_parse['path'], '/');                                 // Verwijder slash



$i          = 0;                                                             // Bereid teller van whileloop voor
$count      = count($extensions) + 1;                                        // Bereid conditie van whileloop voor
$extensions = array_reverse($extensions);                                    // Keer array om



while($i < $count || !$result['found']) {                                    // Doorgaan totdat array is doorgelopen, of de bestandsextensie is gevonden
	if(file_exists($url.$extensions[$i])) {                              // Bestaat bestand + extensie?

		$result['found']     = TRUE;                                 // Gevonden: true
		$result['extension'] = $extensions[$i];                      // Extensie opslaan

	} elseif(!isset($result['found']) && !isset($result['extension'])) { // Niet gevonden: (tijdelijk) false

		$result['found']     = FALSE;                                // Gevonden: false
		$result['extension'] = "";                                   // Extensievariabele defineren

	}

	$i++;                                                                // 1 bij $i optellen
}


if($result['found'] && isset($result['extension'])) {                        // Is het bestand en de bijbehordende extensie gevonden?

	include $url . $result['extension'];                                 // bestand zonder query invoegen

} else {                                                                     // Bestand niet gevonden

	include $notexist;                                                   // Foutpagina invoegen

}

#########################################################################################

?>

Reacties

0
Nog geen reacties.