我上传包含所有脚本,PHP,CSS等和index.html
的文件夹的项目我们假设网址如下所示www.mydomain.com/project/web/index.html
在父文件夹" project"内,如果他们只是输入www.mydomain.com/project/
问题: 有没有办法隐藏所有父文件夹和文档,只能使我的/index.html可访问?
我的服务器不是Apache,因此我无法设置.htaccess文件并构建规则来隐藏/重定向并返回404错误页面。
答案 0 :(得分:7)
您可以在项目文件夹或任何其他您不希望他们有权访问的文件夹中设置index.html
。
然后在这些index.html
页面中,您可以添加重定向以将用户推送到您的真实主页。您可以将此代码放在index.html
<meta http-equiv="refresh" content="1; url=www.mydomain.com/project/web/">
<script type="text/javascript">
window.location.href = "www.mydomain.com/project/web/"
</script>
我仍然认为最好的方法是使用.htaccess
。但如果您没有其他选择,这将适用于基于文件夹的访问。
这不会阻止人们直接访问该文件,例如www.mydomain.com/project/file.txt
答案 1 :(得分:2)
实际上,您的服务器是Apache。
这是他们的文件:
旧网络服务器和新网络服务器之间有什么区别? 所有新网络服务器上的操作系统都在运行Debian 8 Jessie,而不是Debian 7 Wheezy。
Apache从Apache 2.2升级到Apache 2.4。如果您在webhotel上运行自己的.htaccess文件(尤其是accesscontrol),则可能需要升级。查看Apache文档以获取更多信息。
我们现在使用uWSGI来运行PHP,而不是suPHP(mod_suphp)。
文档链接:FAQ
为Apache 2.4 Apache 2.4
链接到rewrite_mod答案 2 :(得分:1)
你可以尝试我的想法。
index.html
或index.php
文件,例如project
文件夹;因此,当用户尝试访问www.mydomain.com/project
并查看内容时,系统会显示index.html
。 或 redirect
或index.html
创建一个php
用户JavaScript
的条件。答案 3 :(得分:0)
有几种方法可以解决这个问题
您可以尝试使用像Laravel这样的文件夹结构,设置MVC(模型 - 视图 - 控制器)架构可以限制只查看特定请求。
遵循REST模式。如果有人去
mydomain.com/project //Returns 404 error
必须定义/ project的控制器,如果未定义,则会抛出404错误
同样,如果只定义项目视图,如
Route::get('project', 'This is the project page');
这是有人可以访问/ project目录的唯一方法,我建议您了解REST模式并遵循MVC / MTV责任驱动设计。
答案 4 :(得分:0)
您的服务器似乎正在运行PHP,至少根据您的问题。这意味着你很可能在那里做错了。但正如沃洛申评论的那样,你需要扩展你的问题。老实说,扫描你的PHP以检查你是否有一个只是说“./”而不是“index.html”的链接。如果你没有那样的东西,那么检查你所有的<a href="link" /> link </a>
标签,确保你没有搞砸。
最好的代码!