Obecnie tworzę szkielet serwisu i mam wszystkie pliki umieszczone na swoim komputerze w katalogu, który jest ustawiony jako DocumentRoot dla Apache. U mnie jest to "D:/www". Niby wszystko działa ale:
* docelowo serwis trafi na serwer providera i domyślam się, że znajdzie się wewnątrz jakiegoś przydzielonego mi katalogu w DocumentRoot, tak więc odniesienia bezwzględne staną się chyba nieaktualne, bo nie będą uwzględniały tego, że doszła jeszcze nazwa katalogu
* nie wiem, czy w ogóle linki ze ścieżką bezwzględną do pliku na serwerze mają jakiś sens (mam na myśli linki nawigacyjne w strukturze witryny), ale w takim razie jak się pozbyć z URL całego członu ścieżki wskazującego na położenie mojej witryny na serwerze?
* próbowałem stosować ścieżki względne, ale dzieje się coś dziwnego, to znaczy każde kolejne kliknięcie na przykład na link do "index.php" powoduje "dolepienie" do adresu kolejnego członu. Po kilku kliknięciach adres w przeglądarce wygląda mniej-więcej tak:
Kod
http://localhost/index.php/index.php/index.php/index.php/index.php
A sam link, wygląda tak:
Kod
<a href:"index.php">index</a>
Rozumiem, że jest to link "względny", który powoduje poszukiwanie pliku w bieżącym katalogu. Gdy zamieniam go na link bezwzględny:
Kod
<a href:"/index.php">index</a>
wszystko działa jak należy. Ale co się stanie, gdy wszystkie pliki znajdą się w jakimś katalogu na serwerze? Wówczas będę musiał poprawiać wszystkie ścieżki bezwzględne.
Zauważyłem, że linki na stronach nie zawiarają, żadnych członów, które określałyby lokalizację na serwerze u providera. A przecież na pewno nie wszysto jest umieszczane w jednym katalogu DocumentRoot. Na czym więc polega sztuka tworzenia dobrych linków, tak aby niezależnie od lokalizacji zawsze wszystko działało i nie powstawały zlepki jaki tworzą się u mnie przy zastaosowaniu ścieżki względnej jak w pierwszym przykładzie?
Będę wdzięczny za wszelkie wskazówki. Temat jest podstawowy i pewnie był już wałkowany ale nie mogę nic znaleźć.
Przemek