Ну, я вроде ответил на это ...
/ var / www / localhost / htdocs / farmer является базой докувики / var / www / localhost / htdocs / barn - это каталог, в котором хранится моя ферма / var / www / localhost / htdocs / barn / корова является первым животным / var / www / localhost / htdocs / сарай / утка является вторым животным
farmer / inc / preload.php настроен согласно советам:
if (!fined ('DOKU_FARMDIR')) define ('DOKU_FARMDIR', '/ var / www / localhost / htdocs / barn');
cow / conf / local.protected.php одинаково настроен
$ conf ['basedir'] = '/ barn / cow /';
duck / conf / local.protected.php одинаково настроен
$ conf ['basedir'] = '/ barn / duck /';
Теперь nginx localhost.conf настроен так:
server { listen 80; server_name localhost; access_log /var/log/nginx/localhost_access_log main; error_log /var/log/nginx/localhost_error_log info; rewrite_log on; root /var/www/localhost/htdocs; location ~ /(data/|conf/|bin/|inc/|install.php) { deny all; } # post-install lockdown location / { try_files $uri $uri/ doku.php @farmer; autoindex on; } location /cow { return 301 http://$host/barn/cow/doku.php; } location /duck { return 301 http://$host/barn/duck/doku.php; } location ~ /barn { index doku.php; autoindex on; rewrite ^/barn/?([^/]+)/(.*) /farmer/$2?animal=$1; rewrite ^/barn/?([^/]+)$ /farmer/?animal=$1; } location @farmer { rewrite ^/farmer/_media/(.*) /lib/exe/fetch.php?media=$1; rewrite ^/farmer/_detail/(.*) /lib/exe/detail.php?media=$1; rewrite ^/farmer/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2; rewrite ^/farmer/(.*) /doku.php?id=$1&$args; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1:9000; } }
Я могу перейти к http: // localhost / farmer для базы, http: // localhost / cow (перенаправление на http: //localhost/bar/cow/doku.php, внутренне переписанное как http: // localhost / farmer /? животное = корова ) для 1-го животного и то же для 2-го.
Мне не нравятся аспекты цепной загрузки nginx, но это работает (тм)