Mój przepisywania Nginx jest pobieranie pliku php


12

Mam następującą regułę przepisywania, którą próbuję:

            location / {
                    index index.php index.html;
                    rewrite  ^/test$  /test.php  break;
            }

Mam też:

            location ~ \.php$ {
                    fastcgi_pass    127.0.0.1:9000;
                    include         fastcgi_params;
                    fastcgi_param SCRIPT_FILENAME /home/sites/default$fastcgi_script_name;
                    fastcgi_index   index.php;
            }

Normalne pliki php działają dobrze, ale wygląda na to, że moje przekierowanie po prostu pobiera plik php, do którego przekierowuję, zamiast go analizować.

czego mi brakuje? Mam plik do załadowania, zamiast pobierać, umieszczając plik fastcgi w pierwszym bloku lokalizacji, ale nadal nie był on analizowany jako php.

Odpowiedzi:


24

Zmień breakna last.

Ponieważ nowy adres URL będą musiały być przetwarzane przez inny location, trzeba mieć nginx restart przetwarzanie nowego adresu URL napisany od nowa, która jest wykonywana tylko wtedy, gdy używasz lastw rewriteregule.

Pełniejsze wyjaśnienie znajdziesz w dokumentacji .


@TamasKalman Eh? Nie wyglądasz jak OP. Jeśli masz problem, możesz zadać nowe pytanie.
Michael Hampton
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.