重定向到 index.php 并删除尾部斜杠 .htaccess

Redirect to index.php and remove trailing slash .htaccess

这里似乎有很多这样的问题,但找不到适合我当前代码的答案:

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^ public/index.php [QSA,L]

这会将所有内容重定向到 public/index.php,效果很好,但我想去掉结尾的斜杠,以便 example.com/foo/ 变为 example.com/foo

您可以在当前规则之前插入尾部斜杠删除代码:

RewriteEngine On

## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/+$
RewriteRule ^ %1 [R=301,NE,L]

## forward all requests to public/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ public/index.php [L]