Newsgroup: it.comp.www.html
Titolo: problema struttura sito e path

Hi All,
sto lavorando al mio sito personale, e dopo averlo riscritto usando html, php,
css attualmente sto riscontrando un "piccolo" problema, al quale non sono ancora
riuscito a trovare una soluzione "pulita".
Premetto che lavoro su Linux, con Apache, PHP e il codice scritto a manina (vim)
e verifico il tutto con Mozilla.
Il sito è costruito seguendo una logica bene precisa, diviso in sezioni, e con
una pagina di introduzione. Per rispettare questa logica, e per lavorare meglio,
ho creato, nella mia home (/home/farnis/public_html), delle dir che
corrispondono ai vari link del menu principale del sito:
drwxr-xr-x    2 farnis   farnis       4096 2003-08-23 12:58 autore
drwxr-xr-x    3 farnis   farnis       4096 2003-08-23 12:58 erasmus
drwxr-xr-x    3 farnis   farnis       4096 2003-08-23 13:24 gallery
drwxr-xr-x    2 farnis   farnis       4096 2003-05-24 15:52 icons
drwxr-xr-x    4 farnis   farnis       4096 2003-08-23 12:58 linux
drwxr-xr-x    2 farnis   farnis       4096 2003-08-23 12:58 main
drwxr-xr-x    2 farnis   farnis       4096 2003-08-24 16:56 template
In particolare, la directory template, è quella che contiene i file che
strutturano la grafica del sito, è contiene, i file che, richiamati con
istruzioni in PHP, permettono di ricostruire le pagine che poi verranno
visualizzate dal browser.
-rw-r--r--    1 farnis   farnis        116 2003-06-06 19:22 content.inc
-rw-r--r--    1 farnis   farnis       1449 2003-08-24 17:49 header.inc
-rw-r--r--    1 farnis   farnis       1667 2003-06-06 19:17 main.css
-rw-r--r--    1 farnis   farnis        916 2003-08-23 12:48 menu.inc
-rw-r--r--    1 farnis   farnis         91 2003-06-06 19:17 top.inc
Nelle altre sezioni, esempio "autore", corrispondente all'omonima dir, ci sono
minimo 2 file:
-rw-r--r--    1 farnis   farnis        167 2003-08-23 11:50 autore.php
-rw-r--r--    1 farnis   farnis        104 2003-08-23 11:48 content.inc
Il primo, autore.php, è quello che serve a costruire la pagina, il secondo,
content.inc è quello che contiene il contenuto che dovrà essere visualizzato. In
questo modo, se volessi cambiare template al sito, mi basta modificare solo i
file presenti nella dir template, senza modificare i contenuti di ogni pagina.
I miei problemi, riguardano innanzitutto la struttura del sito, e vorrei sapere
se sto lavorando in maniera corretta, o se facendo in questo modo rischio di
avere problemi in futuro.
L'altro problema, più specifico dell'HTML, è che ho problemi nel dare il path
assoluto del foglio di stile. Cerco di spiegarmi meglio.
In autore/autore.php si trova il seguente codice:
<? include('../template/header.inc'); ?>
<body>
<? include('../template/top.inc');?>
<? include('../template/menu.inc');?>
<? include('content.inc');?>
</body>
</html>
quando il file viene processato, va a prendere il file header.inc, che tra le
varie istruzioni, contiene:
<link type="text/css" rel="stylesheet" href="template/main.css" />
il problema è che questo funziona solo se la pagina generata si trova nel primo
livello della directory, perchè se la pagina si trova ad un secondo livello, il
link corretto dovrebbe essere:
<link type="text/css" rel="stylesheet" href="../template/main.css" />
Come faccio a dare un path assoluto, mantenendo il sito strutturato in questo
modo, ovvero senza mettere il main.css nel livello principale, e possibilmente
senza creare link simbolici ai vari file?
Se questo post dovessere essere OT, mi dite dove posso postare il mio
problema? Grazie in anticipo.

usa un path assoluto anche per questo:
<link type="text/css" rel="stylesheet" href="template/main.css" />
in questo modo ti eviti di dover pensare ai livelli nella quale si trovanoi
file
-- 
Se qualcosa va male non preoccuparti. Domani andrà peggio

 file
in che modo?
usando Apache, metto tutti i file nella dir che si trova in
/home/farnis/public_html, ma questa è la dir presente sul mio pc. Non
vorrei poi dover rinominare tutto, mettendo il sito sullo spazio che ho su
un server web (che usa sempre Apache, etc.).

usa una varibile $_http ecc ecc (non mi ricordo la sintassi esatta, mi pare
$_http_host ) che prende in automatico il dominio del sito nella quale
inserirai poi i file


 inserirai poi i file
HTTP_HOST?
<link type="text/css" rel="stylesheet" href=" <? echo $HTTP_HOST
?>/template/main.css" />
una cosa del genere?
però non capisco perchè non ci sia un modo più semplice per indirizzare in modo assoluto i
file...

inserendo la path assoluta, ma devi sapere già il dominio che utilizzerai
