add header after fcgi handling
Maxim Dounin
mdounin at mdounin.ru
Wed Aug 8 10:55:51 UTC 2012
Hello!
On Wed, Aug 08, 2012 at 11:05:46AM +0200, Aleksandar Lazic wrote:
> Hi,
>
> please can anybody help me, I'm stucked and sure that I think in
> wrong way.
>
> the .htaccess
>
> /web/root/interfaces/.htaccess
>
> RewriteEngine on
> RewriteBase /interfaces
> RewriteRule ^json/(.*) index.php?x=$1&%{QUERY_STRING} [NC]
>
> Translated to (the easy part I think)
>
> location ~ /interfaces/json/(\S+) {
> try_files /$uri /interfaces/index.php?x=$1&$args;
> }
>
> now
>
> Header set Access-Control-Allow-Origin *
> Header set Access-Control-Allow-Headers "X-Requested-With, *"
>
> to
> location /interfaces {
> include
> /home/nginx/server/conf/add_header-Access-Control-Allow-Origin.conf;
> add_header Access-Control-Allow-Headers "X-Requested-With,
> *";
> }
>
> but when the php request is handled the 'location /interfaces {..}'
> does not match any more,
> of course.
>
> How can I add the header to the reply after the php is executed?!
You have to add headers in the location where you pass requests to
php. And you may need to add another location if you don't want to
add headers to all responses from php. Something like this should
be fine:
location /interfaces/ {
add_header ...
location ~ \.php$ {
fastcgi_pass ...
...
}
}
Maxim Dounin
More information about the nginx
mailing list