Mit SERVER['REQUEST_URI'] und in die Steuerung der website fließen
Habe ich eine kleine Webseite. Es ist .htaccess
- Datei ist wie folgt:
RewriteEngine On
RewriteBase /site/
RewriteRule ^(.+)$ index.php [QSA,L]
So dass es leitet alle URLs, die auf 'index.php'. Ich kann den angeforderten URL und handeln entsprechend :
$uri = $_SERVER['REQUEST_URI'];
switch($uri)
{
case 'index':
LoadIndex();
break;
case 'about':
LoadAbout();
break;
case 'Posts':
LoadPosts();
break;
default:
LoadNotFound();
}
Sagen, das ich verwenden möchte $_GET[]
in der Index-Seite. Dadurch ändert sich die URL, so schlägt es fehl, die Seite zu laden.
Wie kann ich das tun? Wie kann ich route meine Website, ohne $_GET[]
Variablen in URLs?
nur parse $_SERVER['REQUEST_URI'] und ausziehen, alles hinter dem ?
OK, so ist es das ? Gibt es nicht einen einfachen Weg ?
OK, so ist es das ? Gibt es nicht einen einfachen Weg ?
InformationsquelleAutor David Sebastian | 2013-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
$_SERVER[REQUEST_URI]
wird/index.php
und nichtindex
.$_SERVER[REQUEST_URI]
umfasst auch dieQUERY_STRING
. Also, es könnte sein/index.php?var1=abc&var2=def
.Wenn Sie nur den URI-Pfad, versuchen
PHP_SELF
oderSCRIPT_NAME
. Aber Bedenken Sie, dass diese wird/index.php
zu, einschließlich/
und.php
.Brauchen Sie nicht
QSA
in IhremRewriteRule
. Von RewriteRule-DirektiveDies bedeutet, die
$_GET
variable in Ihrem PHP-Skript wie zuvor.Bitte finden Sie in den aktualisierten Antworten.
InformationsquelleAutor Olaf Dietsche