Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [MOD_Rewrite] Verständnisfrage (https://www.delphipraxis.net/107480-%5Bmod_rewrite%5D-verstaendnisfrage.html)

TheMiller 28. Jan 2008 14:44


[MOD_Rewrite] Verständnisfrage
 
Hallo,

ich verstehe da was bei mod_rewrite nicht. Angenommen, meine Seite lautet

http://seite.tld/news/neues-in-delphi.htm

Wenn ein Besucher diese Seite aufruft, wird, so in meinem Fall, eine Quelle aus der DB zitiert oder geladen. Nur wie sage ich der DB_Query, dass die die News "neues-in-delphi" laden soll. Muss ich diesen Titel nochmal mit in der db speichern? Wenn ja, hätte ich ja 2 Titel-Felder in der Tabelle, einen, um aus der mod_rewrite-url den Datensatz zu identifizieren, und einen, um dem Leser den "echten", schönen Titel anzuzeigen. Also so:

Code:
$titel = $_REQUEST['titel'];

$sql = "SELECT mr_titel, nice_titel FROM news WHERE mr_titel = '".htmlentities('$titel')."';";
Und die DB wäre dann so:

Code:
id | mr_titel | nice_titel | datum | inhalt
mr_titel steht für mod_rewrite-titel.

Ist das nicht ein wenig kompliziert? Gut, man könnte in die URL noch die ID mit ausgeben, also 728-neues-in-delphi.htm. Aber dann könnte die ID auch jeder sehen.

Wie macht ihr das?

danke

Matze 28. Jan 2008 14:50

Re: [MOD_Rewrite] Verständnisfrage
 
Hallo

Zitat:

Zitat von DJ-SPM
Gut, man könnte in die URL noch die ID mit ausgeben, also 728-neues-in-delphi.htm. Aber dann könnte die ID auch jeder sehen.

Was spricht dagegen?

Zitat:

Zitat von DJ-SPM
Wie macht ihr das?

In der DP wird die ID mitgegeben, Beispiel: /topic127528_modrewrite+verstaendnisfrage.html
und ich mache es bei mir genauso, Beispiel: /id338/Die_Energieversorgung_des_Helis.html

Das hat den Vorteil, dass der Titel auch doppelt vorkommen darf und dennoch eindeutig zugeordnet werden kann.

Grüße

TheMiller 28. Jan 2008 14:56

Re: [MOD_Rewrite] Verständnisfrage
 
Ok,

ich dachte nur, dass es evtl unschön ist, die ID mitzugeben. IDs sind ja eigentlich auch interne Paramenter, die keinen etwas angehen, aber das letzte Argument von dir ist einschlägig.

Ich habe mir dazu eine Funktion gebastelt, die Sonderzeichen und Umlaute URL-freundlich macht, ist diese Funktion in Ordnung?

Code:
 $suchen = array(" ", "ä", "ü", "ö", "ß");
 $rep = array("_", "ae", "ue", "oe", "ss");
 for($x=0; $x<count($suchen); $x++)
 {
  $link = str_replace($suchen[$x], $rep[$x], $link);
 } 
 $link = preg_replace("/[,;.^°!\/§\$%&()=?´`\\\#\'+*~<>]/", "", $link);
 return strtolower($link);
Danke für die Hilfe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz