Hallo,
wie kann ich die Rewrite URL beim Einsatz von VBSeo mittels PHP auslesen.
REQUEST_URI liefert nur den Original Pfad.
Hat hier jemand eine Idee?
Gruss Reiner
This is a discussion on Rewrite URL mit PHP auslesen within the Deutsch forums, part of the General Discussion category; Hallo, wie kann ich die Rewrite URL beim Einsatz von VBSeo mittels PHP auslesen. REQUEST_URI liefert nur den Original Pfad. ...
Hallo,
wie kann ich die Rewrite URL beim Einsatz von VBSeo mittels PHP auslesen.
REQUEST_URI liefert nur den Original Pfad.
Hat hier jemand eine Idee?
Gruss Reiner
Hallo nochmal,
ich habe eben gesehen das es mit VBSEO_URI funktioniert.
Um das Problem entgültig zu lösen müsste ich folgendes machen.
Die Variable sieht nun wie folgt aus:
$bsRequestUri = $_SERVER['VBSEO_URI'];
Wie kann man es Lösen, das wenn VBSEO_URI nichts liefert das er dann REQUEST_URI verwendet?
Dies ist notwendig, da VBSEO_URI ja nur den Pfad innerhalb VBSeo liefert. Ausserhalb zB bei der Index oder anderen Seiten eines Fremd-CMS passiert nichts. Hier müsste man dann REQUEST_URI verwenden.
Viele GRüsse
Reiner
vielleicht mit
??PHP Code:if (empty($_SERVER['VBSEO_URI']))
{
$bsRequestUri = $_SERVER['REQUEST_URI'];
}
else
{
$bsRequestUri = $_SERVER['VBSEO_URI'];
}
Hallo,
danke ich habe eben noch einen anderen Vorschlag bekommen.
if(isset($_SERVER['VBSEO_URI']) && strlen($_SERVER['VBSEO_URI']) > 0)
{
$bsRequestUri = $_SERVER['VBSEO_URI'];
}
else
{
$bsRequestUri = $_SERVER['REQUEST_URI'];
}
Welcher ist nun sinnvoller bzw wo liegt der Unterschied?
Gruss Reiner
lass mich die Codes mal schnell kommentieren:
1.2.PHP Code:// Wenn die Variable $_SERVER['VBSEO_URI'] nichts ausgibt
if (empty($_SERVER['VBSEO_URI']))
{
// dann soll $_SERVER['REQUEST_URI'] verwendet werden
$bsRequestUri = $_SERVER['REQUEST_URI'];
}
//anderenfalls, also wenn $_SERVER['VBSEO_URI'] etwas ausgibt,
else
{
// dann wird $_SERVER['VBSEO_URI'] verwendet
$bsRequestUri = $_SERVER['VBSEO_URI'];
}
Hoffe ich konnte die das ein bisschen darstellen. Eigentlich sollte es mit beiden Methoden funktionieren, ob es mit einer Variante Probleme gibt, wird sich dann sicherlich zeigen. Ich finde meine Variante einfacher und einfach ist nicht immer gleich schlecht - im Gegenteil.PHP Code:// Wenn die Variable $_SERVER['VBSEO_URI'] TRUE (existent) ist und die Zeichenzahl größer als 0 ist
if(isset($_SERVER['VBSEO_URI']) && strlen($_SERVER['VBSEO_URI']) > 0)
{
// dann soll $_SERVER['VBSEO_URI'] verwendet werden
$bsRequestUri = $_SERVER['VBSEO_URI'];
}
// anderenfalls
else
{
// soll $_SERVER['REQUEST_URI'] verwendet werden
$bsRequestUri = $_SERVER['REQUEST_URI'];
}
![]()
Hallo,
ja jetzt is mir das klar. In meinem Fall ist das Ergebnis bei jeder Variante das gleiche. Also in dem Fall einfacher ist besser.
Erstmal danke für die super Auskunft.
Jetzt hab ich noch ein weiteres kleines Problem. Ich beschreibs mal.
$requestUri = $_SERVER['ORIG_PATH_INFO'];
Beim Aufruf von ORIG_PATH_INFO wird nach Eingabe der Domain (www.xyz.de) der Pfad der Startseite zurückgegeben. In dem Fall ist das index.php. Wie kann man es lösen, das wenn ORIG_PATH_INFO den Wert index.php hat hier keinen Wert einträgt. Alle anderen URL sollten natürlich hier nach wie vor den Pfad liefern. Es geht lediglich um die index.php.
Viele Grüsse
Reiner
Was spuckt denn die Variable $_SERVER['ORIG_PATH_INFO'] auf der index.php genau aus?
Inhalt von $_SERVER['ORIG_PATH_INFO'] wie folgt:
www.xyz.de = index.php
www.xyz.de/index.php = index.php
www.xyz.de/test.php = test.php
Also immer wenn index.php drin steht sollte die Variable keinen Wert enthalten.
dann würde ich das so machen:
wenn das nicht klappt vielleicht so (nicht ganz so schön):PHP Code:if ($_SERVER['ORIG_PATH_INFO'] == 'index.php')
{
unset($_SERVER['ORIG_PATH_INFO']);
}
PHP Code:if ($_SERVER['ORIG_PATH_INFO'] == 'index.php')
{
$_SERVER['ORIG_PATH_INFO'] == '';
}
Hallo,
leider liefern beide VAriationen immer noch index.php als Inhalt.
Eventuell liegts daran, das die original Zeile wie folgt aussieht:
$requestUri = $_SERVER['ORIG_PATH_INFO'];
Gruss Reiner
achso, ok, habe ich vergessen. Sorry.
so müsste es dann aber klappen.PHP Code:if ($_SERVER['ORIG_PATH_INFO'] == 'index.php')
{
$requestUri = unset($_SERVER['ORIG_PATH_INFO']);
}
ansonsten noch mit der anderen Variante:
PHP Code:if ($_SERVER['ORIG_PATH_INFO'] == 'index.php')
{
$_SERVER['ORIG_PATH_INFO'] == '';
$requestUri = $_SERVER['ORIG_PATH_INFO'];
}
Hallo,
ich habs eben getestet. Bei Variante 1 funktioniert die Website nicht mehr. Bei Variante 2 ist die Variable immer Leer, dh es wird auch bei Unterseiten wie /test.php nichts mehr angezeigt.
Gruss Reiner
dann so
Entschuldige die Umstände.PHP Code:if ($_SERVER['ORIG_PATH_INFO'] == 'index.php')
{
$_SERVER['ORIG_PATH_INFO'] == '';
}
$requestUri = $_SERVER['ORIG_PATH_INFO'];
![]()
Hallo,
is kein Problem. ich bin froh wenn das irgendwie läuft.
Ich hab den Code jetzt eingefügt. Jetzt steht nach wie vor index.php in der Variable.
Gruss Reiner
So, wenn das nicht klappt, gehen mir langsam die Ideen aus.
PHP Code:if ($_SERVER['ORIG_PATH_INFO'] == 'index.php')
{
$requestUri == '';
}
else
{
$requestUri = $_SERVER['ORIG_PATH_INFO'];
}