如何隐藏配置文件以防止直接访问?
如何隐藏配置文件以防止直接访问?
我正在使用Laravel开发网络应用。将所有文件上传到生产环境后,发现一些文件可以通过URL直接访问,例如http://example.com/composer.json。如何避免直接访问这些文件?
问题的出现原因是使用错误的web服务器配置,可以通过将web服务器指向public
目录并重新启动来解决。对于Apache,可以使用以下指令:DocumentRoot "/path_to_laravel_project/public"
。对于nginx,应更改以下行:
<Directory "/path_to_laravel_project/public">root /path_to_laravel_project/public;
。完成以上操作后,所有Laravel文件将无法从浏览器访问。对于共享主机,如何处理呢?可以创建虚拟主机(vhost),或者只需在.htaccess文件中添加DocumentRoot "/path_to_laravel_project/public"
即可。