PHP - path_info - directory

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_path_info_directory_64741/page_1 - zur Vollversion wechseln!


noledge schrieb am 27.01.2003 um 16:38

ich hab im moment folgendes problem:

um zu erreichen, dass google eine seite weiter als nur 1 ebene indiziert, möchte ich die variablen aus der url bringen - dh aus

test.php?id=5

wird

test.php/id/5

dazu nahm ich die path_info-variable, splitte sie nach "/" auf und erstelle variablen, denen ich die zugehörigen werte zuordne - soweit ja kein problem.

allerdings denkt der browser jetzt, dass er sich im verzeichnis /test.php/id/5 befindet - und findet auch daher die images/stylesheets nicht, die im selben verzeichnis wie die test.php liegen, weil die pfade eben relativ und nicht absolut angegeben werden.

wie kann man das am schönsten lösen? ein (unsauberer) workaround wäre, die anzahl der / nach dem test.php zu zählen, und damit einen prefix wie "../../" zu erstellen, der vor jedes image/stylesheer gehängt wird - nicht wirklich das gelbe vom ei.

anyone?


atrox schrieb am 27.01.2003 um 16:43

<BASE HREF="../../">


atrox schrieb am 27.01.2003 um 16:52

weiters für suchmachinen (nicht nur diese) interessant: "Last-Modified" header und if-modified-since requests für semi-statischen content.


noledge schrieb am 27.01.2003 um 20:58

thx, werds morgen ausprobieren...

wobei's fast gscheiter wär, einfach das root-directory der applikation in einem config-file zu setzen, mit dem dann der base href gebildet wird. siedelts in ein anderes directory (was sicher passieren wird) passt man einfach 1x den pfad an.


watchout schrieb am 27.01.2003 um 21:19

Zitat von noledge
thx, werds morgen ausprobieren...

wobei's fast gscheiter wär, einfach das root-directory der applikation in einem config-file zu setzen, mit dem dann der base href gebildet wird. siedelts in ein anderes directory (was sicher passieren wird) passt man einfach 1x den pfad an.
wieviele "../" du machst hat ja nix mit dem verzeichnis, sondern mit der anzahl der argumente zu tun ;)
insofern müsstest du die "../"'s dynamisch immer neu generieren - je nach anzahl der argumente...


noledge schrieb am 27.01.2003 um 21:24

das is mir klar, hab ich ja oben erwähnt - aber meine neue idee geht dahin, bei

http://www.blah.org/set/development...3/test.php/id/5

nicht ../../ zu setzen (bzw, dynamisch zu generieren), sondern

/set/development/release3/

per gesetzter config-variable zu setzen.

weniger aufwand :)

edit: ah, seh grad, ich habs hier nicht geschrieben, das war mitn funka im icq - sorry :p

<noledge->funka> jo, werds einfach mitn base machen
schrägstriche hinterm .php zählen und dann des konstrukt erzeugen


watchout schrieb am 27.01.2003 um 21:44

Zitat von noledge
/set/development/release3/
wenn dann:
http://www.blah.org/set/development/release3/
;)


noledge schrieb am 27.01.2003 um 21:49

:confused:

ein link auf dem server http://www.blah.org

<a href="/bla2/bla3">link</a>

linkt bei mir auf http://www.blah.org/bla2/bla3


funka schrieb am 27.01.2003 um 21:53

ich wuerds entweder gleich mit absoluten pfadne machen
wenn das aus port gruenden nicht geht statt / halt $root
oder im index.php $SCRIPT_NAME mit $REQUEST_URI vergleichen
wie im icq schon erwaehnt und das so dynamisch machen

aber ich pers. halt <base bla oder absolute pfade fuers gscheiterste


watchout schrieb am 27.01.2003 um 21:53

Zitat von noledge
:confused:

ein link auf dem server http://www.blah.org

<a href="/bla2/bla3">link</a>

linkt bei mir auf http://www.blah.org/bla2/bla3
wenn du im root bist schon... wart - muss ich jetzt echt testen ob ich nen schwachsinn erzähl :D


watchout schrieb am 27.01.2003 um 21:59

<base href="/tests/">
und
<a href="url_search_test2.php">liiiink!</a>

linkt bei mir auf:
http:///tests/url_search_test2.php
;)
anscheinend kennt der da echt nur absolute angaben??? :confused:


noledge schrieb am 27.01.2003 um 22:03

hm - naja, dann halt mit gesamten pfad.

in der config
$basedir = 'http://www.blah.org/set/development/release3/';

und in den files dann
<base href=\"$basedir\">

sollt hinhaun - näheres dann morgen :)

edit: disclaimer: die domain blah.org gehört nicht mir, sondern wird nur zu beispielzwecken herangezogen :D


funka schrieb am 27.01.2003 um 23:29

:eek:


watchout schrieb am 27.01.2003 um 23:53

Zitat von noledge
edit: disclaimer: die domain blah.org gehört nicht mir, sondern wird nur zu beispielzwecken herangezogen :D
:eek: und ich dachte du wärst jackie!
http://www.blah.org/jackiephotos/ja...nuaryseatsm.gif
:D


atrox schrieb am 27.01.2003 um 23:56

also wie man das <BASE HREF= bildet, ist dann schon egal, du wolltest ja einfach verhindern, daß du einen path-prefix vor jeden link, bild, css usw setzen mußt.
der vorteil für den relativen pfad ist halt, daß man schneller die site verschieben kannst, und nicht jedesmal eine config anpassen mußt.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026