WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP - plocka hela url:en/adressen (https://www.wn.se/forum/showthread.php?t=19003)

Seattlegrunge 2007-01-30 19:15

Är jag på en sida på en sajt som ligger på en Windowsserver som har t ex adressen http://www.domän.se/sida.php/kategori/objekt så kan jag ju t ex plocka ut följande med servervariabler:

$_SERVER['SERVER_NAME'] ger www.domän.se.
$_SERVER['PHP_SELF'] ger /sida.php.
$_SERVER['QUERY_STRING'] kan jag använda för att få ut en querystring, men det är inte aktuellt i detta fall.

Men det jag skulle vilja är att få hela url:en som en sträng i php, så jag får följande som en sträng:

http://www.domän.se/sida.php/kategori/objekt
eller
www.domän.se/sida.php/kategori/objekt

Finns det något sätt att göra detta på? Visst, jag laborerar och plockar ihop olika servervariabler, men det är inte helt klockrent om man nu t ex vill byta servermiljö. Plus att jag sökmotoroptimerat url:erna på egen hand ā la .htaccess, fast för IIS, vilket också gör det hela lite knepigare (jämför med url-exemplet ovan).

Mickee 2007-01-30 19:34

print_r($_SERVER) och konkatenera det du vill ha ut ?
edit:

Tror inte jag fårstår hur du menar men kan visa hur jag har gjort med en av mina sidor med mod_rewrite på en apacheburk

RewriteRule /([a-zA-Z0-9:]+)/([a-zA-Z0-9:]+)/([a-zA-Z0-9:]+) /index.php?aaa=$1&bbb=$2&ccc=$3 [L]
RewriteRule /([a-zA-Z0-9:]+)/([a-zA-Z0-9:]+) /index.php?aaa=$1&bbb=$2 [L]
RewriteRule /([a-zA-Z0-9:]+) /index.php?aaa=$1 [L]

vilket ger mig server/forsta/andra/tredje där aaa=forsta bbb=andra och ccc=tredje

Seattlegrunge 2007-01-30 21:14

Tack Mickee!

print_r($_SERVER) ger mig vad jag söker!

Lite svårt att hänga med på vad jag menade med sokmotoroptimerade url:er, det kan jag förstå :)

Jag vet hur .htaccess fungerar och försökte med ren php få ut ett liknande system på IIS-servrar, vilket jag lyckades med för några månader sen. Det är ju dock långt ifrån lika smidigt som .htaccess. Snabbt förklarat:

http://www.domän.se/produkt.php/1/ka...2/produktnamn/ är min url som jag sedan splittar upp i dess olika beståndsdelar för att i php tolka den som om det hade stått www.domän.se/produkt.php?category=1&product=2.

Men i detta fallet behövde jag helt enkelt print_r($_SERVER) (som jag inte använt tidigare och tänkte därför inte på det nu) för jag ska göra en redirect i php beroende på vilken domän som används vid anropen till sidan :)

Thanx!


Alla tider är GMT +2. Klockan är nu 04:07.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson