Re: Ошибка 404 при использовании в УРЛе незаэскейпенных спецсимволов, таких как скобки или тире
automatix
nginx-forum at nginx.us
Tue Aug 13 18:29:50 UTC 2013
Спасибо за Ваш ответ!
Относительно того, как я хочу -- да, именно так: чтобы собственно раутингом
занимался "хитрый зенд". Когда мне удастся донести до него реквест, он
сможет с этим справиться.
Настройки. Я изменил свои настройки в соответствии с тем, что Вы написали.
Но видимых изменений, к сожалению, нет.
Вот актуальный конфиг:
server {
listen 80;
server_name
foo.qwer.loc
bar.asdf.loc
baz.yxcv.loc
;
charset utf-8;
if ($host ~ ^(?<project>.+)\.(?<area>.+)\.loc$) {
#set $project $1; # already set
#set $area $2; # already set
set $folder "$area/$project";
#set $domain "$project.$area.loc"; # equal to $host
}
access_log /var/log/nginx/$area/$project.access.log;
error_log /var/log/nginx/error.log;
# add_header Host $server_name;
# add_header X-Server $hostname;
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/xml application/xml;
client_max_body_size 25m;
root /var/www/$folder/public/;
try_files $uri $uri/ /index.php?$args;
index index.html index.php;
location / {
index index.html index.php;
sendfile off;
try_files $uri $uri/ @zend;
index index.php index.html index.htm;
add_header Cache-Control max-age=1209600;
}
# Zugriff auf sensible Dateien verwehren
location ~ (\.inc\.php|\.tpl|\.sql|\.tpl\.php|\.db)$ {
deny all;
}
# Die htaccess brauchen wir nicht mehr - und wenn sie noch da is
# sollte sie nicht angezeigt werden
location ~ \.htaccess {
deny all;
}
# Die eigentliche RewriteRule für das Zend Framework
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
location ~ \.php$ {
fastcgi_cache off;
#fastcgi_pass 127.0.0.1:9001;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 6000;
fastcgi_index index.php;
include fastcgi_params;
#fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_param APPLICATION_ENV development;
fastcgi_param HTTPS $https;
try_files $uri @zend;
}
location @zend {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
}
location ~ /\. {
deny all;
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,241512,241812#msg-241812
Подробная информация о списке рассылки nginx-ru