htaccess 到 Caddy 重写

htaccess to Caddy rewrite

我正在尝试在 Caddy 服务器上安装 Cachet,但是当我尝试访问该网页时,它试图转到 /setup,但 Caddy 给我“404 Not Found”。

对于 Apache,他们说你必须使用这个:

<Directory "/var/www/Cachet/public">
    Require all granted 
    # Used by Apache 2.4
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

但是我如何在我的 Caddyfile 中执行此操作?我猜这与符号链接有关,因为没有实际的安装文件夹。

.cachet 的 htacces

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ / [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

But how would I do this in my Caddyfile? I guess it has something to do with the symbolic links as there is no actual setup folder.

其实不是符号化的link,而是URL重写.
Cachet 是使用 Laravel 5 开发的 Web 应用程序,每个 HTTP 请求都路由到 public/index.php.

所以你安装的方法是:

  • 正在启用 .htaccess。
  • 在 Apache 上启用 mod_rewrite

所以所有的 HTTP 请求都将被路由到 public/index.php 并且它会调用 App/Http/Controllers/SetupController。这与符号 link.

无关

我不了解 Caddy,所以我无法向您解释如何配置它,但是有一个 Caddy post 有人需要在 Caddy 中启用 mod_rewrite。