我已经为 Node.js 构建了一个类似于 Laravel 或 Express 的框架,它运行良好,直到我向服务器上存在的路径发出请求。
假设我有这个文件结构:
web/
|-- index.php # file that should handle ALL requests that come to this project
|-- .htaccess
|-- .env # private file that should not be accessible
|-- test.txt
.
.
.
当我尝试请求时:
myweb.com/.env
它提供文件或者当我在框架中定义路由到/test/a
它将尝试访问它并通过错误:404 not found.
我如何设置我的 .htaccess,无论请求是否指向有效的文件路径,ALL 最终
web/
的请求都将被重定向到 web/index.php
。
这就是我的
.htaccess
目前的设置方式:
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
</IfModule>