![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 2 Dołączył: 11.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Chciałbym prosić Was o pomoc lub wskazówkę w rozwiązaniu niniejszego problemu:
Zbudowałem aplikację przeznaczoną dla 3 użytkowników (3 layouty i 3 kontrolery). Cała aplikacje działa bez zarzutu pod warunkiem, że odpalam ją bezpośrednio z linku: http://localhost/mojprojekt/public/index.php. W zależności od typu użytkownika adresy url poszczególnych akcji wyglądają wtedy tak: http://localhost/mojprojekt/public/index.php/controller/akcja. Jakoś bardzo mi to nie przeszkadza, ale o ile dobrze się orientuję powinno to działać bez index.php w adresie url. Tym bardziej, że jak wystartuję aplikację z http://localhost/mojprojekt/public to mam dostęp do wszystkich akcji controllera index (http://localhost/mojprojekt/public/index/action) ale próba przejścia do akcji innego controllera kończy się błędem 404 i logiem na serwerze:
Wszystkie kontrolery czy akcje tworzyłem zf toolem, struktura katalogów jest podręcznikowa i te pliki tam są. Jak macie Państwo pomysł jak to rozwiązać lub gdzie szukać przyczyny proszę pisać. Będę wdzięczny za każdą sugestię ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 72 Pomógł: 2 Dołączył: 14.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
a masz włączony mod_rewrite itp?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 2 Dołączył: 11.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
a masz włączony mod_rewrite itp? Tak. Ustawiłem go podczas instalacji zenda a gdy pojawił się problem z urlami to właśnie to sprawdzałem jako pierwsze ale dla pewności możesz zajrzeć w te ustawienia: w konsoli: Cytat marcin@marcin-desktop:~$ cat /etc/apache2/mods-available/rewrite.load LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so marcin@marcin-desktop:~$ sudo a2enmod rewrite [sudo] password for marcin: Module rewrite already enabled marcin@marcin-desktop:~$ ls -al /etc/apache2/mods-enabled/rewrite.load lrwxrwxrwx 1 root root 30 lis 11 22:15 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load /etc/apache2/sites-available/default Cytat <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> i .htaccess z katalogu public aplikacji: Cytat SetEnv APPLICATION_ENV development
RewriteEngine On RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /index.php [NC,L] RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dla swojej strony w Options usuń MultiViews.
Ten post edytował freemp3 12.11.2013, 12:33:47 -------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 2 Dołączył: 11.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dla swojej strony w Options usuń MultiViews. Jeśli chodzi Ci o opcje w /etc/apache2/sites-available/default to jedynym efektem jest wtedy to, że do akcji z kontrolera index też nie da się wejść bez index.php w adresie url. Nie robiłem virtualhosta dla tej aplikacji. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Chodziło mi o ten wpis:
Kod <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> Spróbuj usunąć w ogóle Options i sprawdź co się będzie działo. Dodaj też RewriteBase do pliku .htaccess. -------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 2 Dołączył: 11.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Kod <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> Działa tak jak opisałem w poprzednim poście. Cytat Spróbuj usunąć w ogóle Options i sprawdź co się będzie działo. Dostaję info: Kod You don't have permission to access / on this server. i tak aż do katalogu public aplikacji gdzie działa tylko akcja index kontrolera index i nic poza tym (chyba, że jest index.php w url). Cytat Dodaj też RewriteBase do pliku .htaccess. Kod SetEnv APPLICATION_ENV development RewriteEngine On RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /index.php [NC,L] RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteBase /var/www/MatchBoxCamera/public i nadal to samo co wcześniej. Pytanie brzmi czy da się to ustawić tak, żeby nie było 'index.php' w adresie url? Dzięki za zainteresowanie problemem ![]() Ten post edytował qdlaty88 12.11.2013, 15:15:38 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 11:10 |