ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
416
416
EMPFEHLEN
-
Hi Leutz,
wie generiere ich sprechende Url's?
Hier mal mein Ansatz
.htaccess:
Code :1
RewriteRule ^unterseite/(.*)/(.*)/(.*).html$ /unterseite.html?wert1=$1&wert2=$2&wert3=$3 [QSA]
Ausgangs-Link:
Hier funktioniert das Skript einwandfrei...Aber die Url's beim klicken auf die Sortierfunktion oder Blätterfunktion schauen dann in etwa so aus:PHP-Code:$link_string_blaettern = "<a href=\"$pfad?param1=$wert1¶m2=$wert2¶m3=$wert3";
if(isset($_GET['sortieren'])) $link_string_blaettern .= "&sortieren=".$_GET["sortieren"];
if(isset($_GET['asc'])) $link_string .= "&asc";
elseif(isset($_GET['desc'])) $link_string .="&desc";
$link_string_blaettern .= "\" title=\"Vor\"><font class=\"no_bg\"> »»</font></a> \n";
Code :1
domain.de/unterseite.html?param1=wert$1¶m2=wert$2...usw.
Ich will aber folgenden Aufbau der Url:
Code :1
domain.de/unterseite/wert/wert.html
...und damit mir das gelingt, habe ich folgendes Probiert:
Der Link wird wie gewünscht dargestellt, nur gibt's hier folgendes Problem...und zwar funktioniert dann aber so meine Blätterfunktion nicht mehr. Und wenn z. B. Parameter2 nicht gegeben ist, dann erscheint ein doppelslash und bevor ich's vergesse...die URL wird wie folgt angezeigt: unterseit.html/wert1/wert2/wert3...Oh Maaaaaaaan.....PHP-Code:$link_string_blaettern = "<a href=\"$pfad/$wert1/$wert2/$wert3";
if(isset($_GET['sortieren'])) $link_string_blaettern .= "&sortieren=".$_GET["sortieren"];
if(isset($_GET['asc'])) $link_string .= "&asc";
elseif(isset($_GET['desc'])) $link_string .="&desc";
$link_string_blaettern .= "\" title=\"Vor\"><font class=\"no_bg\"> »»</font></a> \n";
Geändert von ben78 (14.12.11 um 02:57 Uhr)
-
Hi,
dieses Problem kannst du nicht alleine über RewriteRules lösen.
Als erstes sollte deine RewriteRule alle Parameter in einen eigenen URL-Parameter packen:
Code :1
RewriteRule ^/unterseite/(.*).html$ /unterseite.html?query=$1 [QSA,L]
Im zweiten Schritt musst du im PHP Code den URL-Paramter "query" Parsen und dort die ganzen Informationen rausholen. Dieser Parser könnte wie folgt aussehen:
Code php:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
<?php class Request { private $params = array(); public function __construct() { $this->parseQueryString($_REQUEST['query']); } private function parseQueryString($queryString, $keyPrefix = 'wert') { $queryElements = explode('/', $queryString); foreach ($queryElements as $key => $value) { $this->params[$keyPrefix . ($key + 1)] = $value; } } public function getParam($paramName, $defaultValue = null) { if (!isset($this->params[$paramName])) { return $defaultValue; } return $this->params[$paramName]; } }
Gruß Kyoya StefanOracle Certified MySQL 5 Professional Developer
Zend Certified PHP 5.3 Engineer
Vorträge, Webinare, etc im Mayflower - Blog
-
AHHHH...Endlich ne Antwort...Schonmal vielen Dank an der Stelle für die ersteHilfestellung
Noch ne Frage zu folgender Zeile:
Muss ich an Stelle von $params die einzelnen ParameterVars eingeben. Also so in etwa:PHP-Code:private $params = array();
****?PHP-Code:$wert1 $wert2 $wert3 = array();
-
$params ist eine globale Klassen Variable und wird mit Request::parseQueryString gefüllt.
Geändert von jannicars (14.12.11 um 17:54 Uhr)
Tutorials: Ajax JSON Chat PHP
-
Ich hab jetzt mal den gesamten Code so übernommen, wie er da steht. Aber es tut sich nichts. Das Skript läuft einwandfrei. Aber die dabei generierten URL's sind nach wie vor die selben. In meinem Link (siehe weiter oben) kommt die Variable "$pfad" vor. Diese ist wie folgt definiert:
PHP-Code:$pfad = $_SERVER['PHP_SELF'];
Ähnliche Themen
-
Recherche: Multilinguale sprechende URL
Von ZodiacXP im Forum Coders TalkAntworten: 7Letzter Beitrag: 14.09.09, 13:11 -
Sprechende Pfade in URL anstatt GET-Variablen
Von alhambrina im Forum PHPAntworten: 2Letzter Beitrag: 08.07.08, 19:47 -
seo urls?
Von the_black_hawk im Forum Hosting & WebserverAntworten: 1Letzter Beitrag: 07.12.07, 14:24 -
seo urls?
Von the_black_hawk im Forum HTML & XHTMLAntworten: 0Letzter Beitrag: 07.12.07, 14:21 -
Suchmaschinenfreundliche URLs / URLs parsen
Von mXa im Forum PHPAntworten: 3Letzter Beitrag: 09.07.03, 02:22





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren