我正在使用以下文件夹结构:
localhost
server
php
docs
classes
errors
...
client
css
javascript
...
用户应通过url打开的所有文档都位于server / php / docs目录中。
localhost/server/docs/index.php
localhost/server/docs/any_other_document_in_this_folder.php
但是不可能这样:
localhost/server/classes/language.php
localhost/server/errors/error404.php
localhost/client/javascript/buttonhandler.js
如何禁止用户以这种方式打开文件?
答案 0 :(得分:0)
我现在使用5个重定向。也许可以不使用太多。
RedirectMatch "^/$" "/server/php/docs/index.php"
RedirectMatch "^\/(server)\/(php)\/((?!docs).*)$" "/server/php/docs/index.php"
RedirectMatch "^\/(client).*$" "/server/php/docs/index.php"
RedirectMatch "^\/(server|client)\/$" "/server/php/docs/index.php"
RedirectMatch "^\/(server)\/((?!php).*)$" "/server/php/docs/index.php"
答案 1 :(得分:0)
我发布的解决方案不起作用。目录中文档中使用的每个URL
server/php/docs
被重定向。还有类似的东西
<script type="text/javascript" src="../../../client/vendor/jquery-3.3.1.min.js"></script>
所以我的问题是:是否有可能(以及如何)使用户无法打开我一开始就发布的URL?我希望在这种情况下将用户重定向到
localhost/server/php/docs/index.php