LINUX.ORG.RU
ФорумAdmin

nginx, настройка uri и отличающийся путь.

 


0

1

Никогда особо не сталкивался с такой задачкой, но вот стало интересно, есть конечно множество более простых вариантов и один из них это забить, но стало интересно.

Абсолютно простой virtualhost

server {
	server_name test-host.ua;
	access_log /var/log/nginx/test-host.ua-access.log;
	error_log /var/log/nginx/test-host.ua-error.log debug;
	root /var/www/vhosts/test-host.ua;

	location /pma {
		alias /usr/share/phpMyAdmin;
		index index.php index.html index.htm;
		
		location ~ ^/pma/(.*\.php)$ { 
			alias /usr/share/phpMyAdmin;
			try_files $uri =404;
			fastcgi_pass unix:/var/run/php5-fpm.sock;
			fastcgi_index index.php;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
			include /etc/nginx/fastcgi_params;
		}
		
		location ~* ^/pma(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        		alias /usr/share/phpMyAdmin/$1;
		}

	}
}

При таком раскладе доступ к pma не работает, и вот почему:

2016/05/06 13:39:27 [error] 7450#0: *1 FastCGI sent in stderr: "Unable to open primary script: /usr/share/phpMyAdmin/pma/index.php (No such file or directory)" while reading response header from upstream, client
2016/05/06 13:44:26 [debug] 7572#0: *1 http script copy: "/usr/share/phpMyAdmin"
2016/05/06 13:44:26 [debug] 7572#0: *1 http script var: "/pma/index.php"
2016/05/06 13:44:26 [debug] 7572#0: *1 trying to use file: "/pma/index.php" "/usr/share/phpMyAdmin/pma/index.php"
2016/05/06 13:44:26 [debug] 7572#0: *1 trying to use file: "=404" "/usr/share/phpMyAdmin=404"
2016/05/06 13:44:26 [debug] 7572#0: *1 http finalize request: 404, "/pma/index.php?" a:1, c:1
2016/05/06 13:44:26 [debug] 7572#0: *1 http special response: 404, "/pma/index.php?"

Не совсем понимаю, как его заставить воспринимать путь к index.php без pma который он подставляет. Ну не реврайтить ведь каждый раз uri запрос или может я что-то делаю не так?

Естественно если делать все через location /phpMyAdmin все работает красиво, но хотелось бы чтобы имя было /pma или что-то подобное.

ln -s /usr/share/phpMyAdmin /usr/share/phpMyAdmin/pma и ниибет

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.