Alias which works like in other web servers

marc at marc at
Fri Aug 3 19:57:07 MSD 2007

Hi Igor,

Thanks for your quick reply.

I tried location ^~ /blog but that produced a similar result, php-fcgi 
returned 'No input file specified' as it was not able to open the path 
provided to it by nginx.

I also have the following block in order to force http authentication on 
the /blog/wp-admin directory:

location /blog/wp-admin {
       alias   /var/www/wordpress/wp-admin;

       auth_basic "adm"; 
       auth_basic_user_file conf/nginx.user;
       rewrite ^.+?(/.*\.php)$ $1 break;

Is there a way to put the auth stuff into the same /blog location ?

I would very much want to have a few "true" Aliases in my config rather 
than relying on symlinks, which is not really the clean/correct way to 
do this IMHO.  Let's just say that for the sake of argument I need the 
following aliases for the same vhost:  /blog /munin /nagios -- all of 
which point to folders that are outside the document root of that 
vhost.   I would also like to password protect each of these aliases.


Igor Sysoev wrote:
> On Fri, Aug 03, 2007 at 11:18:51AM +0100, Just Marc wrote:
>> I have a website and a wordpress blog under /blog/   The blog scripts 
>> are sitting in a different directory, this is the conf:
>> server {
>>   listen x.x.x.x;
>>   root   /var/www/site/;
>>   location /blog {
>>       alias   /var/www/wordpress;
>>       rewrite ^.+?(/.*\.php)$ $1 last;
>>       rewrite ^ /index.php last;
>>   }
>>   location / {
>>       rewrite '^/([^\.]*)\.html$'  /index.php?p=$1 last;
>>   }
>>   location ~ .php$ {
>>       fastcgi_pass;
>>       fastcgi_index  index.php;
>>       include        conf/fastcgi.conf;
>>   }
>> With this conf, a request to: /blog/wp-login.php is processed by the php 
>> location resulting in a bad URL (nginx tries to open: 
>> /var/www/site/blog/wp-login.php).
> Could you describe all mappings that you need ?

More information about the nginx mailing list