![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mam plik .htaccess o następującej treści
Kod IndexIgnore * Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule (.*) index.php/$1 [L] NIestety ten plik (ta regułka) nie działa. Wpisując adres, który nie istnieje, zamiast przenieść na index.php to serwer na stronie wywala "No input file specified. " Dzieje się tak gdy mam ustawione php w trybie fastcgi. Rozumiem, że w takim trybie taki htaccess nie pójdzie za dobrze. Co innego gdyby był w trybie mod-php. Znalazłem na necie kilka prób zmodyfikowania tego .htaccess by działał poprawnie, ale niestety u mnie działały. Macie jakieś z tym doświadczenia? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() |
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
W jaki sposób przekazujesz parametry do parsera PHP, a co ważniejsze jakie? Korzystasz a php-fpm? Napisz trochę więcej informacji.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hmmm, parametry do parsera php? W żaden sposób tego nie przekazuje. Całość jest odpalana przez przeglądarkę i ja nic nie przekazuję dodatkowo
php-fpm? Odpalam to na hostingu. Panelem do zarządzania na tym hostingu jest ISPConfig -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Fastcgi musi widzieć jaka jest ścieżka do pliku. Dawno nie konfigurowałem apache i nie pamiętam dokładnie jak to wyglądało, być może coś mieszam nginx. Powiedz mi jeszcze czy problem występuje tylko z .htaccess? Czy przy bezpośrednim odwołaniu się do pliku jest tak samo?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
mam stronkę:
http://blabla.pl/ I ta stronka działa. Teraz mam np link http://blabla.pl/szukaj Oczywiście taki katalog jak szukaj nie istnieje. Ale właśnie ten .htaccess miał w takim wypadku przekierować na index.php i już w index.php ruter by mi wywołał odpowiednią akcję. I normalnie na normalnym php, który jest odpalany jako mod apache to działa. Niestety gdy php działa w trybie fastcgi to już coś takiego nie działa. Próbowałem już z takimi kodami (znalazłem na necie): Kod IndexIgnore * Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule (.*) /usr/bin/php index.php/$1 [QSA,L] Tu jak widzisz podaje sciezkę do php. ale wywala internal serwer error (500) Cytat Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. Próbowałem też podawać samą pełną scieżkę do index.php ale nadal ten sam internal serwer error. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Możesz spróbować:
Kod RewriteRule (.*) index.php?/$1 [L] Spróbuj dodać do php.ini cgi.fix_pathinfo = 0. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
~webdice ma rację. Miałem ostatnio podobny problem. I ma on miejsce tylko przez (Fast)CGI, czyli pod Zend Server również. Zmarnowaliśmy na to ostatnio kilka godzin. ^^.
Przepisywanie zaraz po rozszerzeniu działa tylko pod mod_php albo filter. Cytat Spróbuj dodać do php.ini cgi.fix_pathinfo = 0. To nie od tego. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No żesz.... dodatkowy znak zapytania
@webdice, @erix skądżeście to wiedzieli? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
To nie od tego. ![]() Co masz konkretnie na myśli? No żesz.... dodatkowy znak zapytania @webdice, @erix skądżeście to wiedzieli? Do parsera musisz przekazać takie zmienne jak DOCUMENT_ROOT, SCRIPT_PATH itp, czasem jest tak że właśnie brakuje pytajnika, slasha. Człowiek się kiedyś na męczył to wie ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Do parsera musisz przekazać takie zmienne jak DOCUMENT_ROOT, SCRIPT_PATH itp, czasem jest tak że właśnie brakuje pytajnika Tylko że akurat w tym przypadku serwer przepuszcza SCRIPT_PATH w całości jako nazwę pliku, a nie podzieloną na REQUEST_URI i SCRIPT_PATH. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Tylko że akurat w tym przypadku serwer przepuszcza SCRIPT_PATH w całości jako nazwę pliku, a nie podzieloną na REQUEST_URI i SCRIPT_PATH. ![]() To już zależy od konkretnej konfiguracji, której w tym wypadku nie widzieliśmy. Poza tym nie chce się wykłócać bo tak jak mówiłem z konfiguracją Apache miałem do czynienia dość dawno temu. EDIT: Na przykładnie nginx: Kod fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param SCRIPT_FILENAME /home/domains/xxx/Public$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT /home/domains/xxx/Public; Może Ci to troszkę rozjaśni temat. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:40 |