Skocz do zawartości
Zaloguj się, aby obserwować  
PrecelusMaximus

nginx - regułki

Polecane posty

Zawsze mam problem z tym od kiedy rzeźbie w nginx'ie. w katalogu /var/www mam m.in phpmyadmin (/var/www/pma) A całą resztę strony w /var/www/public_html Jak ktoś wpiszę domena.com/pma - wskakuje phpmyadmina a jak coś innego to zawartość strony. Podlinkowałem też vimbadmin no ale nie chce współpracować.

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;
        access_log  /var/www/log/access.log;
        error_log /var/www/log/error.log;
        root /var/www/public_html;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;
        
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
        location /pma/ {
            index index.php;
                alias /var/www/phpmyadmin/;
                location ~ \.php$ {
                        fastcgi_split_path_info ^(.+\.php)(/.+)$;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index index.php;
                        include fastcgi_params;
                        fastcgi_intercept_errors on;
                        fastcgi_ignore_client_abort off;

                }

        }
        location /vimbadmin/ {
            index index.php;
                alias /var/www/vimbadmin/public/;
                #location / {
                        #try_files $uri $uri/ /index.php?$args;
                #       try_files $uri /index.php$args;
                #}
                location ~ \.php$ {
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        # fastcgi_param HTTPS on;
                        include fastcgi_params;
                        fastcgi_param SERVER_NAME $server_name;
                }

        }
        location /mail/ {
            index index.php;
                alias /var/www/mail/;
                location ~ \.php$ {
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index index.php;
                        include fastcgi_params;
                        fastcgi_intercept_errors on;
                        fastcgi_ignore_client_abort off;

                }

        
}

O ile phpmyadmin i klient webmailowy chodzi bez zarzuty. Po wpisaniu domena.com/vimbadmin przekierowuje mnie na: .../vimbadmin/auth/login i widzę: 404 Not Found. Podejrzewam że to nie może zassać /auth/login. Jak w środku vimbadmina, przed php dodałem:

location / {
		try_files $uri $uri/ /index.php?$args;
	}

Nginx się pogniewał i wywalił error.

 

Jak po alias'ie dodałem try_files $uri $uri/ /index.php?$args; to widzę: File not found.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po co tak kombinować?

 

Linux ma coś takiego pięknego jak symbolic linki.

 

W swojej stronie, która jest np. w /var/www możesz sobie podlinkować phpmyadmina z np. /usr/share/phpmyadmin komendą ln -s /usr/share/phpmyadmin /var/www/phpmyadmin.

 

99% problemów nginxowego rewrite'a można rozwiązać JEDNĄ prostą regułką:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Zamiast kombinować z kilkoma.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja lubię kombinować. Czasem tracę więcej czasu nad pewną pierdołą niż nad ważnymi sprawami...

 

Podlinkowałem jak mówiłeś. Wklepałem adres /vmb/ przeniosło mnie na /vmb/auth/login i lipa... File not found.

 

Wrzuciłem do vmb/cos.php - wyechował mi stringa, więc php działa... Dalej ma problem z przekierowaniem.

 

Edit: dodałem root'a jako /usr/local/vimbadmin/public i objawił mi się instalator. Teraz pytanie dlaczego nie pojawia mi się jak dałem symbolicznego linka...

Edytowano przez PrecelusMaximus (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przekierowałem to na subdomene i działa... Jednak dziwny jest ten symlink.

 

Szczerze, straciłem na to tyle czasu że nie aktualnie porzucę zabawę. Ważne że działa.

 

Dzięki panowie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×