Помогите перевести конфиг apache в nginx для PHPRedMin

Никак не могу до конца понять nginx. Есть клиент на PHP для Redis,
И вот такой конфиг для Apache
# phpredmin - Simple web interface to manage and monitor your Redis
# 
# Allows only localhost by default

Alias /phpredmin /var/www/phpredmin/public

<Directory /var/www/phpredmin/>
   AllowOverride All 

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip localhost
       Require local
     </RequireAny>
   </IfModule>

   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>


Ограничения по IP мне не нужны, я работаю сейчас на виртуальной машине. А вот с запуском беда. Залил приложение в /var/www/redis/
Запускать нужно /var/www/redis/public/index.php

Я написал следующий конфиг для nginx
server {
		listen 80;
		set $bootstrap "index.php";
		server_name redis.dev;
		root  /var/www/redis/public;
		index $bootstrap;
		
		
		
		location ~ \.php$ {
			fastcgi_split_path_info ^(.+\.php)(/.+)$;
			# позволяем перехватывать запросы к несуществующим PHP-файлам
			set $fsn /$bootstrap;
			if (-f $document_root$fastcgi_script_name){
				set $fsn $fastcgi_script_name;
			}
			# With php5-fpm:
			fastcgi_pass unix:/var/run/php5-fpm.sock;
			include fastcgi_params;
			fastcgi_param  SCRIPT_FILENAME  $document_root$fsn;

			# PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
			fastcgi_param  PATH_INFO        $fastcgi_path_info;
			fastcgi_param  PATH_TRANSLATED  $document_root$fsn;
		}
	}

Но у меня открывается только главная страница. Попытки перейти на какую-либо ссылку (например, redis.dev/index.php/welcome/index/1) выдают 404 Not Found. В логах
2013/11/06 12:18:20 [error] 5728#0: *8 open() "/var/www/redis/public/index.php/welcome/index/1" failed (20: Not a directory), client: 192.168.237.1, server: redis.dev, request: «GET /index.php/welcome/index/1 HTTP/1.1», host: «redis.dev», referrer: «redis.dev/»


Помогите пожалуйста
  • Вопрос задан
  • 3246 просмотров
Решения вопроса 1
XAKEPEHOK
@XAKEPEHOK Автор вопроса
Сам спросил, сам ответил. Добавил в конфиг
location ~ \.(js|css|png|jpg|gif|bmp|swf|ico|pdf|mov|fla|mp4|3gp|zip|rar|7z)$ {
	try_files $uri = 404;
	access_log off;
	expires 24h;
}
		
location / {
	rewrite .* /index.php;
	index  index.html $bootstrap;
	try_files $uri $uri/ /$bootstrap?$args;
}

Все работает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы