加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – htaccess阻止访问目录但允许访问文件

发布时间:2021-07-06 04:16:48 所属栏目:大数据 来源: https://www.jb51.cc
导读:我有这样的情况. 我正在开发Zend Framework中的应用程序,htaccess指向每个请求 index.PHP文件.如果请求路径上存在某个文件或目录,则htaccess允许访问此文件,如css,js,images等… 现在我有这样的链接: example.com/profile/martin-slicker-i231 使用Zend Rou

我有这样的情况.
我正在开发Zend Framework中的应用程序,htaccess指向每个请求
index.PHP文件.如果请求路径上存在某个文件或目录,则htaccess允许访问此文件,如css,js,images等…

现在我有这样的链接:

example.com/profile/martin-slicker-i231

使用Zend Router,它指向控制器帐户和操作viewprofile.我想为我的用户添加一些avatart,并在公共文件夹中创建目录(因此服务器可以访问图像,如css和js).该目录名为“profile”,其中的子目录是“martin-slicker-i231”.服务器可以看到所有路径:

public/
  .htaccess
  index.PHP
  profile/
    martin-slicker-i231/
      avatar-small.jpg

问题是当我将浏览器指向example.com/profile/martin-slicker-i231时
我指的是这个目录而不是控制器和动作.当我用用户删除文件夹时,流程将转到控制器和操作.如何配置.htaccess,以便example.com/profile/martin-slicker-i231指向控制器和操作,但请求example.com/profile/martin-slicker-i231/avatar-small.jpg指向该文件.这是我的.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$- [NC,L]
RewriteRule ^.*$index.PHP [NC,L]

有人可以帮忙吗?

解决方法:

只需删除说应该提供目录的部分:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l 
RewriteRule ^.*$- [NC,L]
RewriteRule ^.*$index.PHP [NC,L]

现在它将直接提供文件(大小> 0)和符号链接,但将目录引用和其他URL发送到您的应用程序

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读