Réécriture d'adresses racine d'un sous-répertoire dans nginx

Je suis la conversion de mon mediawiki site à utiliser nginx comme un frontend pour les fichiers statiques avec apache sur le backend pour php. J'ai obtenu tout ce travail jusqu'à présent, sauf quand j'ai vue le répertoire racine "example.com" il tente de servir un listing de répertoire et donne une erreur 403 depuis que je l'ai désactivé et n'avez pas un fichier d'index de là.

La réécriture apache règle que j'ai dans l'instant présent est tout simplement:

RewriteRule ^$ /wiki/Main_Page [L]

J'ai essayé quelque chose de similaire avec un emplacement directive dans nginx, mais cela ne fonctionne pas:

location = /{
    rewrite "^$" /wiki/Main_Page;
}

Le reste de ma position directives sont:

location /{
    try_files $uri $uri/@rewrite;
}

location @rewrite {
    rewrite ^/wiki/(.*)$ /w/index.php?title=$1&$args;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    try_files $uri /w/index.php?title=$1&$args;
    expires max;
    log_not_found off;
}

location ~ \.php?$ {
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:8080;
}

Je peux simplement mettre un index.php fichier header('location:'), mais je préfère juste le faire correctement avec une règle de réécriture.

Tous les exemples que j'ai trouvé en ligne pour l'exécution de mediawiki avec nginx exécuter le wiki wiki.example.com au lieu d'un /wiki/sous-répertoire.

Edit: j'ai aussi essayé d'ajouter à la try_files comme ceci: try_files $uri $uri/@rewrite /wiki/Main_Page; avec la même erreur 403 résultat.

InformationsquelleAutor Kadaan | 2013-07-19