.htaccess 将规则重写到子文件夹(如果是特定文件夹)

.htaccess rewrite rule to subfolder if is specific folder

我的 .htaccess 文件需要一些帮助,特别是重写规则

我的目录结构:

root
├── plans
│   │── .htaccess
│   │── app 
│   └── public
└── Wordpress

我想要的结果:

如果用户进入目录 https://localhost:8888/plans/ htaccess 文件将其重写到子文件夹 public (https://localhost:8888/plans/public)

到目前为止我尝试了什么

RewriteEngine On

RewriteRule ^$ /public/ [L]

这给我一个 404 错误未找到。

这可能吗?我该怎么做?

您可以在 plans/.htaccess 中使用此规则:

RewriteEngine On

RewriteRule ^(?!public/)(.*) public/ [L,NC]

这会将 /plans/ 中的所有路径重写为 /plans/public/。如果 URI 已经是 /plans/public/.

(?!public/) 是停止重写的否定前瞻