DokuWiki的Caddy配置

这是如何使用Caddy支持DokuWiki的示例配置。

  • Caddyfile_root - 当DokuWiki是运行在根目录的时候的配置文件
  • Caddyfile_subdir - 当DokuWiki是在一个子目录运行时的配置文件

前提条件

DokuWIKI有这些必要条件

Caddyfile_root

  1. localhost:8080
  2. root <Dir Where Your Dokuwiki Site PHP files are>
  3. gzip
  4. fastcgi / /var/run/php-fpm/php-fpm.sock php {
  5. index doku.php
  6. }
  7. internal /forbidden
  8. rewrite {
  9. r /(data/|conf/|bin/|inc/|install.php)
  10. to /forbidden
  11. }
  12. rewrite /_media {
  13. r (.*)
  14. to /lib/exe/fetch.php?media={1}
  15. }
  16. rewrite /_detail {
  17. r (.*)
  18. to /lib/exe/detail.php?media={1}
  19. }
  20. rewrite /_export {
  21. r /([^/]+)/(.*)
  22. to /doku.php?do=export_{1}&id={2}
  23. }
  24. rewrite {
  25. if {path} not_match /lib/.*
  26. if {path} not_match /forbidden
  27. r /(.*)
  28. to {uri} /doku.php?id={1}&{query}
  29. }

Caddyfile_subdir

  1. localhost:8080
  2. root <Dir Where Your WP Site PHP files are>
  3. gzip
  4. # 本示例dokuwiki所在子目录是"wiki"
  5. fastcgi /wiki/ /var/run/php-fpm/php-fpm.sock php {
  6. index doku.php
  7. }
  8. internal /wiki/forbidden
  9. rewrite /wiki {
  10. r /(data/|conf/|bin/|inc/|install.php)
  11. to /wiki/forbidden
  12. }
  13. rewrite /wiki/_media {
  14. r (.*)
  15. to /wiki/lib/exe/fetch.php?media={1}
  16. }
  17. rewrite /wiki/_detail {
  18. r (.*)
  19. to /wiki/lib/exe/detail.php?media={1}
  20. }
  21. rewrite /wiki/_export {
  22. r /([^/]+)/(.*)
  23. to /wiki/doku.php?do=export_{1}&id={2}
  24. }
  25. rewrite /wiki {
  26. if {path} not_match /lib/.*
  27. if {path} not_match /forbidden
  28. r /(.*)
  29. to {uri} /wiki/doku.php?id={1}&{query}
  30. }