PHP can't run under alias folder

Igor Sysoev is at rambler-co.ru
Sat Jul 18 18:17:20 MSD 2009


On Sat, Jul 18, 2009 at 06:09:09PM +0400, Igor Sysoev wrote:

> On Sat, Jul 18, 2009 at 09:44:03AM -0400, e123e123e123 wrote:
> 
> > example :
> > 
> > http://website1.website.com/abc.gif <--- can display .gif
> > 
> > http://website1.website.com/phpmyadmin/mylogo.gif   < ---- can't dispaly .gif
> > 
> > the config file  as below :
> 
> This is because these images are handled not in
> 
>     location /phpmyadmin/ {
> 
> but in regex location
> 
>     location ~ .*\.(php|php5)?$

Sorry, I meant this location:

     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

> since it has more priority. Look at
> http://wiki.nginx.org/NginxHttpCoreModule#location
> to see how nginx chooses location.
> 
> You need something like this:
> 
>     location ~ ^/phpmyadmin/(.*\.php)$ {
>     }
> 
>     location ~ ^/phpmyadmin/ {
>     }
> 
> Also, you do not need "alias" here.
> These locations:
> 
>  location /phpmyadmin/ {
>     alias /home/httpd/html/phpmyadmin/;
> 
>  location ~ ^/phpmyadmin/(.*\.php)$ {
>     alias /home/httpd/html/phpmyadmin/$1;
> 
> should be changed to
> 
>  location /phpmyadmin/ {
>     root /home/httpd/html;
> 
>  location ~ ^/phpmyadmin/.*\.php$ {
>     root /home/httpd/html;
> 
> > 
> > 
> > -----------------------------------------------------------------------------------------------
> > user  username username;
> > worker_processes 8;
> > error_log  /var/log/nginx_error.log  crit;
> > pid        /usr/local/webserver/nginx/nginx.pid;
> > 
> > #Specifies the value for maximum file descriptors that can be opened by this process.
> > worker_rlimit_nofile 51200;
> > 
> > events
> > {
> >   use epoll;
> >   worker_connections 51200;
> > }
> > 
> > http
> > {
> >   include       mime.types;
> >   default_type  application/octet-stream;
> >   server_names_hash_bucket_size 128;
> >   client_header_buffer_size 32k;
> >   large_client_header_buffers 4 32k;
> >   client_max_body_size 8m;
> >   sendfile on;
> >   tcp_nopush     on;
> >   keepalive_timeout 60;
> >   tcp_nodelay on;
> > 
> >   fastcgi_connect_timeout 300;
> >   fastcgi_send_timeout 300;
> >   fastcgi_read_timeout 300;
> >   fastcgi_buffer_size 64k;
> >   fastcgi_buffers 4 64k;
> >   fastcgi_busy_buffers_size 128k;
> >   fastcgi_temp_file_write_size 128k;
> > 
> >   gzip on;
> >   gzip_min_length  1k;
> >   gzip_buffers     4 16k;
> >   gzip_http_version 1.0;
> >   gzip_comp_level 2;
> >   gzip_types       text/plain application/x-javascript text/css application/xml;
> >   gzip_vary on;
> > 
> >   #limit_zone  crawler  $binary_remote_addr  10m;
> > 
> >   server
> >   {
> >     listen       80;
> >     server_name  website1.website.com;
> >     index index.html index.htm index.php;
> >     root  /home/httpd/html/website1;
> > 
> > 
> > location /phpmyadmin/ {
> > alias /home/httpd/html/phpmyadmin/;
> > index index.php index.html index.htm;
> > auth_basic            "Restricted";
> > auth_basic_user_file  /home/httpd/html/phpmyadmin/.htpasswd;
> > }
> > 
> > location ~ ^/phpmyadmin/(.*\.php)$ {
> > alias /home/httpd/html/phpmyadmin/$1;
> > fastcgi_pass 127.0.0.1:9000;
> > fastcgi_index index.php;
> > include fcgi.conf;
> > fastcgi_param SCRIPT_FILENAME $request_filename;
> > }
> > 
> >     location ~ .*\.(php|php5)?$
> >     {
> >       #fastcgi_pass  unix:/tmp/php-cgi.sock;
> >       fastcgi_pass  127.0.0.1:9000;
> >       fastcgi_index index.php;
> >       include fcgi.conf;
> >     }
> > 
> >     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
> >     {
> >       expires      30d;
> >     }
> > 
> >     location ~ .*\.(js|css)?$
> >     {
> >       expires      1h;
> >     }
> > 
> >    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
> >               '$status $body_bytes_sent "$http_referer" '
> >               '"$http_user_agent" $http_x_forwarded_for';
> >     access_log  /var/log/access.log  access;
> >    }
> > 
> > }
> > 
> > Posted at Nginx Forum: http://forum.nginx.org/read.php?2,4151,4177#msg-4177
> > 
> 
> -- 
> Igor Sysoev
> http://sysoev.ru/en/

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list