Forum : Lws & Hebergeur-discount

Hébergement web, nom de domaine et serveur dédié.

URL rewriting facile :-)

Ici vous pouvez poser vos questions techniques, les problemes que vous rencontrez (publication de votre site, configuration dns des domaines...)
istrya
Expert
Expert
Messages : 303

lun. juil. 18, 2005 10:29 am  

Une démo à cette adresse :: com.jan.free.fr/test4/url.php ::

Voilà, je vous ai concoct" un magnifique petit code pour faciliter l'url rewriting.
Attention, il ne marche que pour réécrire une seule URL, et le code qui est généré est à copier, coller dans un fichier httpd.ini.

Aussi, je n'ai pas trop eu le temps de tester le script générer, mais ça devrait marcher :).

Voilà, je vous ai concoct" un magnifique petit code pour faciliter l'url rewriting.
Attention, il ne marche que pour réécrire une seule URL, et le code qui est généré est à copier, coller dans un fichier httpd.ini.

Aussi, je n'ai pas trop eu le temps de tester le script générer, mais ça devrait marcher :).
<?php
//
// Script php pour Isapi Rewrite
// Codé par les soins d'Istrya :p
//

$fichier = 'url.php';//nom du fichier qui contient ce script
//------------------------------------------------------------------------------
//Ne rien modifier en dessous de cette ligne à moins que vous ne sachiez ce que
//vous faîtes :p
//------------------------------------------------------------------------------

$page_nrew = $_POST['page_rew'];
$result_save = $_POST['result_save'];

if( $page_nrew != NULL && preg_match("!(.*)\?(.*)=(.*)!", $page_nrew)
&& $_POST['old_save'] != $page_nrew ){
$count_egal_len = strlen($page_nrew);
$count_egal = ereg_replace('=' , '', $page_nrew);
$count_no_egal_len = strlen($count_egal);
$count_egal = $count_egal_len - $count_no_egal_len;

for($i=1;$i <= ($count_egal - 1);$i++)
{
$replace .= '&(.*)=(.*)';
$exe_get .= '_$'.(4 + $i * 2);
$rul_get .= '&$'.(3 + $i * 2).'=\$'.( $i + 1 );
$rew_get .= '_(.*)';
}
$exem_nrew = preg_replace('!(.*)\.(.*)\?(.*)=(.*)'.$replace.'!', '$1_$4'.$exe_get.'.$2', $page_nrew);
$rule_nrew = preg_replace('!(.*)\.(.*)\?(.*)=(.*)'.$replace.'!', '$1.$2?$3=\$1'.$rul_get.'.$2', $page_nrew);
$page_nrew = preg_replace('!(.*)\.(.*)\?(.*)!', 'RewriteRule /$1_(.*)'.$rew_get.'.$2 &nbsp;&nbsp;&nbsp;&nbsp; /', $page_nrew) . $rule_nrew;
if($result_save == NULL)
$all_nrew = "[ISAPI_Rewrite] \n\n".$page_nrew."[L]\n";
else
$all_nrew = $result_save."\n".$page_nrew."[L]\n";
}
elseif( $page_nrew != NULL )
{
$error = 'Erreur vous avez mal dû remplir le formulaire';
$all_nrew = $result_save;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Generateur d'URL Rewriting ( Isapi )</title>
</head><body>
<b><? echo $error; ?></b>
<form name='rew' action='<? echo $fichier; ?>' method='POST'><table style="width: 50%; text-align: left;" border="0" cellpadding="0" cellspacing="0">

<tbody>
<tr>
<td style="vertical-align: top;">
<table style="border-style: dotted dotted none; border-color: rgb(89, 198, 57) rgb(89, 198, 57) white; border-width: 2px 2px 0px; margin-left: auto; margin-right: 0px; width: 100%; text-align: left;" border="0" cellpadding="2" cellspacing="2">

<tbody>
<tr>
<td style="width: 50%; vertical-align: top; background-color: rgb(209, 239, 201);"><small><small>.: Url &agrave; r&eacute;&eacute;crire<br>
</small></small></td>
<td style="width: 50%; vertical-align: top; text-align: right; background-color: rgb(209, 239, 201);"><small><small>Exemple de l'Url R&eacute;&eacute;crite:.<br>
</small></small></td>
</tr>
<tr>
<td style="width: 1px; vertical-align: top;"><input style="width: 85%;" value="<? echo $_POST['page_rew']; ?>" name="page_rew"><input style="width: 15%;" name="ok" value="ok" type="submit"></td>
<td style="vertical-align: top; text-align: right;"><input style="width: 100%;" readonly="readonly" value="<? echo $exem_nrew; ?>" name="exem_rew"></td>
</tr>
</tbody>
</table>

</td>
</tr>
<tr>
<td style="border: 2px dotted rgb(89, 198, 57); vertical-align: top;">
<div style="text-align: center;"><textarea name="result_wri" rows="10" cols="55"><? echo $all_nrew; ?></textarea><br>
</div>
</td>
</tr>
<tr>
<td>
<input type="button" value='Annuler' onClick="document.forms.rew.reset()">
</td>
</tr>
<tr>
<td style="vertical-align: top;">
<table style="border: 1px solid green; margin-left: auto; margin-right: 0px; text-align: left; width: 100px; height: 20px;" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td style="width: 50%; vertical-align: top; text-align: center;"><a style="color: rgb(0, 0, 0); text-decoration: none;" href="http://validator.w3.org/"><small>&nbsp;W3C<br>
</small></a></td>
<td style="width: 50%; text-align: center; vertical-align: middle; background-color: rgb(209, 239, 201);"><a style="color: rgb(0, 0, 0); text-decoration: none;" href="http://validator.w3.org/"><small><small>Html 4.01<br>
</small></small></a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<input type='hidden' name='result_save' value='<? echo $all_nrew; ?>'>
<input type='hidden' name='old_save' value='<? echo $_POST['page_rew']; ?>'>
</form>

<br>

<br>

<br>

</body></html>

  •   Information
  • Qui est en ligne ?

    Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités