htaccess 阻止对目录的访问,但允许对文件的访问

2024-03-11

我有这样的情况。 我正在 Zend Framework 中开发应用程序,htaccess 指向每个请求 索引.php。如果请求路径上存在某个文件或目录,则 htaccess 允许访问这些文件,例如 css、js、图像等...

现在我有这样的链接:

example.com/profile/martin-slicker-i231

使用 Zend Router,它指向控制器帐户和操作视图配置文件。我想为我的用户添加一些头像,并在公共文件夹中创建了目录(这样服务器就可以访问图像,如 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 发送到您的应用程序

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

htaccess 阻止对目录的访问,但允许对文件的访问 的相关文章

  • 搜索引擎如何找到相关内容? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google 在解析网络时如何找到相关内容 例如 Google 使用 PHP 原生 DOM 库来解析内
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 将文件夹中的每个文件移动到以该文件命名的自己的文件夹中的批处理脚本?

    所以如果我有 folder file1 txt folder file2 jpg folder file3 py 我想创建 folder file1 file1 txt folder file2 file2 jpg folder file3
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账

随机推荐

  • 使用 Poco 和 Boost C++ 的多个 Http 服务器

    我正在尝试使用 Poco Net 和 Boost 库创建多个 Http 服务器 但在 Poco 文件内部出现以下错误应用程序 cpp Assertion violation pInstance 0 in file src Applicati
  • 无法安装渐进式网络应用程序网站:没有可显示的图标

    我正在构建一个渐进式网络应用程序 我从样板开始创建反应应用程序 https github com facebookincubator create react app 然后我添加了一个网络应用程序清单 应用程序 公共 manifest js
  • Selenium Webdriver C# 无需等待页面加载

    我有以下场景 我想导航到一个页面 然后 一旦出现按钮就单击它 不等待页面加载 我不想等待初始页面加载 因为这需要很长时间 我的程序目前卡住 直到页面加载然后单击按钮 我基本上想导航到链接 然后无需等待页面并继续我的代码 无论如何还有这个吗
  • Bootstrap 手风琴箭头颜色 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我怎样才能改变颜色崩溃了手风琴箭头 我尝试了更多解决方案 但我设法仅更改按钮的文本颜色 恒定的颜色是蓝色 与深色背景根本不兼容 例子
  • ListView 性能缓慢

    我有一个习惯ListView我在那里展示了一些从本地数据库检索到的武器 我总共有 88 行 每行每次设置一个文本和一个图像getView 叫做 这ListView快速滚动时会出现滞后 垃圾收集器会变得疯狂 每秒删除一些 1M 对象 我不明白
  • 为什么这个正则表达式在 JavaScript 中的计算结果为 false?

    我正在寻找一个 0 9 数字的字符串 没有其他字符 这是用 假 值提醒我 var regex new RegExp d 0 9 alert regex test 123456789 这些返回 true 我明白为什么 和 表示整个字符串需要匹
  • Cookie 与子域 Nodejs httponly Cookie 共享

    我正在使用快速会话模块来维护会话 我有两个应用程序 我想与此应用程序共享cookie 父应用程序在 example com 中运行 子应用程序在 child example com 中运行 我使用它在子应用程序中设置的express ses
  • 禁止在第一个字符位置键入 0(零)

    我正在使用 Jquery 数字插件 该插件只允许在输入中键入数字值 tbQuan numeric 除了这个插件正在做的事情之外 我还需要在第一个字符位置禁用键入 0 零 任何帮助 将不胜感激 尝试这个 input keypress func
  • 可以像这样在 ASP.NET Core 中制作 SEO 友好的 Url

    我想问你们是否可以为我的项目做一些这样的路由 action title 我想知道这是否可能 这个网址也必须是主键吗 由于没有传递 ID 来知道这是哪篇博文 谢谢 您可以使用属性路由轻松地做到这一点 Route blogs public cl
  • 当应用程序无法处理深层链接时如何优雅地回退到网站

    情况 您有一个内容广泛的移动网站 m somewhere com 在 Google Play 上 您有一个 Android 应用程序 它复制了 m somewhere com 的主要功能 但不是全部 您的客户 雇主 投资者要求您为应用程序可
  • 在 bootstrap/compiled.php 中找不到 Laravel 4 类

    我已经使用 Git 创建了一个新分支 对我的代码应用了一些更新 在我的临时服务器上检查了该分支 现在我无法运行任何与 Composer 相关的内容 我已经在composer json中添加了一些新的包 这些包适用于我的开发环境 但是一旦我尝
  • 计算一下从 167.37 美元开始找零的不同方式?

    这是一个面试问题 给定一个金额 例如 167 37 美元 找到使用该货币可用面额为该金额找零的所有可能方法 任何人都可以想到一种空间和时间高效的算法和支持代码 请分享 这是我编写的代码 工作 我正在尝试找到它的运行时间 感谢任何帮助 imp
  • 未解析的 Aapt 错误

    在将我计划使用的图像添加到drawables文件夹后 我试图构建我的android应用程序 该项目之前运行得很好 但运行该项目后 出现一条错误消息 显示 Unparsed Aapt Error 该错误显示在 src 文件夹中 我尝试清理我的
  • 安装并加载“rJava”

    由于 rJava 的加载问题 我在加载 Deducer 包时遇到问题 rJava 的安装似乎正确完成 但在调用它加载时却失败了 拜托 有人可以提供一些智慧之光吗 错误 rJava 的 loadNamespace 中的 onLoad 失败 详
  • 如何在没有缩略图的情况下发布 Facebook 链接?

    我想使用以下方式发布 Facebook 链接图形API http developers facebook com docs reference api post 但我希望能够避免使用缩略图 Facebook 的网络界面在发布图像时有一个无缩
  • 在服务中注册接收者

    我有一个service可以从以下位置启动和停止button 但在service我想注册一个接收器来监听短信广播 我只想要service在运行时监听短信 我试过registerReceiver receiver intentfilter 但这
  • 每当输入文本时应用程序崩溃,无法识别的选择器发送到实例

    每当我尝试在文本字段上书写时 我都会遇到这个奇怪的错误 使用我的应用程序会崩溃 NSNull fastCStringContents unrecognized selector sent to instance 0x108e3eaf0 Te
  • 如何在 JavaScript 中正确地将对象从 for 循环推送到数组?

    我想通过 for 循环创建一个包含对象的数组 但有一个问题 我想要的形状如下 data apple label Fruits data banana label Fruits data mango label Fruits 所以我尝试了以下
  • 在 Pytorch 中获取负片(倒置)图像

    我想直接从数据加载器获取图像的负片并将其作为张量提供 有我可以使用的库吗 我试过火炬transforms并没有找到任何 不要费力 只需使用255 image它会给你一个负面的形象 试试吧
  • htaccess 阻止对目录的访问,但允许对文件的访问

    我有这样的情况 我正在 Zend Framework 中开发应用程序 htaccess 指向每个请求 索引 php 如果请求路径上存在某个文件或目录 则 htaccess 允许访问这些文件 例如 css js 图像等 现在我有这样的链接 e