Robię taką małą stronkę i dopóki robiłem ją lokalnie wszystko było dobrze.
Lokalnie na xamppie mam zrobiony wirtualny host - projekt, a w konfigu (config/config.php) mam zdefiniowaną stałą TEMPLATE ze ścieżką do katalogu z templatem - /template. I jeszcze plik .htaccess między innymi z takimi wpisami:
ErrorDocument 403 /error.php?e=403
ErrorDocument 404 /error.php?e=404
Coś z tym wszystkim jest nie tak, bo jak wysłałem na serwer w nazwa.pl to mi się posypało.
Lokalnie w przeglądarkę wpisywałem takie adresy:
http://projekt - strona główna, jest ok
http://projekt/ala - nieistniejący katalog, jest ok, otwiera stronę /error.php?e=404
http://projekt/ala/ala - nieistniejący katalog w nieistniejącym katalogu, też jest ok jak wyżej
http://projekt/js - istniejący katalog, jest ok, otwiera stronę /error.php?e=403
http://projekt/js/ala - nieistniejący katalog w istniejącym katalogu, jest ok, otwiera stronę /error.php?e=404
Jak wysłałem na nazwa.pl to z taką wartością stałej TEMPLATE strona wcale się nie otwiera.
Jak zmienię jej wartość z /template na template to:
http://jakas.subdomena.pl - strona główna, jest ok
http://jakas.subdomena.pl/ala - nieistniejący katalog, jest ok, otwiera stronę /error.php?e=404
http://jakas.subdomena.pl/ala/ala - nieistniejący katalog w nieistniejącym katalogu, otwiera stronę /error.php?e=404 ale bez cssów i obrazków
http://jakas.subdomena.pl/js - istniejący katalog, otwiera stronę /error.php?e=403 ale bez cssów i obrazków
http://jakas.subdomena.pl/js/ala - nieistniejący katalog w istniejącym katalogu, otwiera stronę /error.php?e=404 ale bez cssów i obrazków
http://projekt - strona główna, jest ok
http://projekt/ala - nieistniejący katalog, jest ok, otwiera stronę /error.php?e=404
http://projekt/ala/ala - nieistniejący katalog w nieistniejącym katalogu, otwiera stronę /error.php?e=404 ale bez cssów i obrazków
http://projekt/js - istniejący katalog, otwiera stronę /error.php?e=403 ale bez cssów i obrazków
http://projekt/js/ala - nieistniejący katalog w istniejącym katalogu, otwiera stronę /error.php?e=404 ale bez cssów i obrazków
Drzewo katalogów jest takie:
.htaccess
index.php
error.php
config/config.php
templates/css
templates/img
w templates są jeszcze inne pliki php odpowiedzialne z wygląd strony
index.php i error.php ładują plik config tak samo (require_once 'config/config.php') i w nich używana jest stała TEMPLATE
Ktoś kiedyś miał do czynienia z takim problemem i wie jak go rozwiązać, żeby raz ustawić stałą TEMPLATE i ładowało mi to co trzeba niezależnie od serwera?
Wkrótce stronę trzeba będzie uruchomic na innym serwerze i chcę zminimalizować szansę, że coś nie będzie grało.