Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] Publikowanie projektu na serwerze hostingowym
Forum PHP.pl > Forum > PHP > Frameworki
CzarnyGsm
Witam,

Stworzyłem projekt i postanowiłem go wrzucić na serwer hostingowy, i tu pojawił się problem. Po wgraniu plików na serwer stworzyłem dwa pliki .htaccess: w katalogu głównym projektu (blokuję dostęp do wszystkich plików):
  1. <Files ~ ".*">
  2. Order allow,deny
  3. Deny from all
  4. </Files>

oraz w katalogu public (umożliwiam widoczność katalogu public):
  1. <Files ~ ".*">
  2. Order allow,deny
  3. Allow from all
  4. </Files>
  5. SetEnv APPLICATION_ENV development
  6. DirectoryIndex index.php


Niestety, ale nie wszystko działa jak powinno(może raczej tak jak ja bym chciał). Przy otwieraniu stron, które mają w odnośniku nazwę kontrolera oraz akcji wyskakuje błąd (otwierana jest akcja error z kontrolera Error). Dlaczego działają tylko odnośniki seo? Przykładowo jak wejdę na http://adres.pl/users/logout wyskakuje błąd. Jeśli już wejdę np. na http://adres.pl/artykul,nowsci,6.html wszystko wyświetla się jak należy.

Czy trzeba coś jeszcze dodać do .htaccess? Na localhost nie miałem takich problemów. Bez tych powyższych linijek w .htaccess odnośniki działają tak samo. Z góry dziękuję za pomoc.

Pozdrawiam
Pilsener
Jaki błąd wyskakuje? Sprawdź w logach to raz. Dwa - sprawdź, czy na pewno żądania wysyłane przez adres.pl/users/logout trafiają do index.php.
KrzysiekWildfire
Najprostrzy .htaccess dla Zenda który robi wszystko co koniecznie wygląda tak:


[APACHE] pobierz, plaintext
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteCond %{REQUEST_FILENAME} -s [OR]
  4. RewriteCond %{REQUEST_FILENAME} -l [OR]
  5. RewriteCond %{REQUEST_FILENAME} -d
  6. RewriteRule ^.*$ - [NC,L]
  7. RewriteRule ^.*$ index.php [NC,L]
[APACHE] pobierz, plaintext


możesz jeszcze dorzucić swoje allow na początku co będzie wyglądało tak:

[APACHE] pobierz, plaintext
  1. <Files ~ ".*">
  2. Order allow,deny
  3. Allow from all
  4. </Files>
  5. Options +FollowSymLinks
  6. RewriteEngine on
  7. RewriteCond %{REQUEST_FILENAME} -s [OR]
  8. RewriteCond %{REQUEST_FILENAME} -l [OR]
  9. RewriteCond %{REQUEST_FILENAME} -d
  10. RewriteRule ^.*$ - [NC,L]
  11. RewriteRule ^.*$ index.php [NC,L]
[APACHE] pobierz, plaintext


tylko, że teraz wszystkie Twoje linki będą musiały mieć public w sobie. Możesz ten problem wyeliminować, przez przeniesienie wszystkich plików z katalogu public do katalogu wyżej, i zmienić ścieżki w pliku php (include'ujące biblioteki Zend'a i ścieżkę do aplikacji). Konieczne jest także stworzenie plików .htaccess z deny from all, w application i library.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.