Re: Помогите с location и rewrite

Валентин Бартенев ne на vbart.ru
Вс Окт 2 11:35:43 UTC 2011


On Sunday 02 October 2011 11:03:09 alexpts wrote:
> Помогите составить правило для nginx,
> которое бы перенаправляло все запросы,
> кроме запросов которые заканчиваются
> на список расширений файлов
> (css|js|pdf|odt|...|jpg|png|gif) на корневой скрипт
> index.php.

# вот вам обратное правило
location *~ \.(css|js|pdf|odt|jpe?g|png|gif)$ {
	# тут обрабатывается то что заканчивается на 
	# \.(css|js|pdf|odt|jpe?g|png|gif)
	# остальное где-то в другом месте
}

> задач, как правильно использовать location
> и rewrite в таких случаях

rewrite - никак.
Правильно использовать try_files, (fastcgi/uwsgi)_param/proxy_pass

---------------------------

location / {
	try_files $uri @php_index;
}

# тут скопировал то, что у вас было:
location ~ \.php$ {
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_pass 127.0.0.1:9000;

	# подключается файл fastcgi_params
	include        fastcgi_params;
}


location @php_index {
	fastcgi_pass 127.0.0.1:9000;

	fastcgi_param SCRIPT_FILENAME /путь/к/вашему/index.php;
	# как-то так
	# дальше сами, я не разбираюсь в php
	# и не знаю какие переменные окружения ждет ваш бэкэнд
}

--
Валентин Бартенев
http://vbart.ru/


Подробная информация о списке рассылки nginx-ru