PHP can't run under alias folder

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


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)?$

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/





More information about the nginx mailing list