.htaccess 将图像文件重写为php脚本

2024-02-25

这是我现在拥有的.htaccess这应该在未来有效:

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

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

问题是:

我怎样才能重写/tmp/some_image.png -> /image.php?file=some_image.png

我试图制定自己的规则,但没有成功。

Thanks.


/tmp 是您的网络服务器可以访问的目录吗?我希望它是一个单独的 /tmp 文件夹,而不是服务器的实际 /tmp 文件夹,因为这会带来安全风险。

无论如何,如果图像是物理文件,那么您需要将其放在重写之后以强制使用 HTTPS,并且在检查它是否是文件或目录的条件之前:

RewriteRule ^/tmp/([^\.]+)\.png$   /image.php?file=$1.png [NC,L]

您还可以检查其他扩展:

RewriteRule ^/tmp/([^\.]+)\.(png|jpg|gif)$    /image.php?file=$1.$2 [NC,L]

或者,如果您不在乎(所有内容都是 tmp 文件夹中的图像。尽管我不推荐这样做)

RewriteRule ^/tmp/(.*)$    /image.php?file=$1 [NC,L]

如果它不是物理文件,您可以将其中任何一个放在规则的末尾。

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

.htaccess 将图像文件重写为php脚本 的相关文章

  • htaccess 正则表达式目录到变量

    我需要对某些 URL 从目录到变量进行 301 重定向 EXAMPLE http domain com es stackoverflow gt http domain com stackoverflow lang es http domai
  • .htaccess 中的“hash”url 重写

    我想重写http example com articles html first article with http example com articles first article 可以重写吗 我尝试使用以下但对我不起作用 Rewri
  • 仅当未找到文件时才重定向请求?

    我希望有一种方法可以使用 mod rewrite 和 Apache 来做到这一点 但也许还有另一种方法可以考虑 在我的网站上 我为客户的网站重新设计版本设置了目录 如果网络根目录是 home blah www 客户端目录将是 home bl
  • WordPress Symfony 共存

    我们有一个在 Symfony 上运行的网站 它是由比我更有能力的人开发的 不过 我对 WordPress 非常熟悉 并将在该网站上安装一个博客 目前 该网站的根运行在 Symfony 上 但我希望 WordPress 能够接管 而不必触及
  • 强制某些页面通过 HTTPS,而其他页面则通过 HTTP...这可能吗?

    我真的被这个困住了 基本上 我尝试使用 IIS 的 URLRewrite 附加组件始终通过 SSL 制作 2 个页面 但我还需要强制所有其他页面使用 HTTP 叹气 不要问 但如果我强制其他页面通过 HTTP 那么当您查看 SSL 页面时
  • 将代码从 htaccess 重写为 nginx 配置?

    我在将 htaccess 文件中的重写代码实现到 nginx 配置中时遇到问题 我已经尝试过生成器 http winnginx com htaccess http winginx com htaccess用于生成我的重写 代码 我的ngin
  • htaccess重写和auth冲突

    我有 2 个目录 每个目录都有一个 htaccess 文件 html htaccess 该文件进行了重写 将几乎所有内容发送到 url php RewriteCond REQUEST URI exported php gif jpe g p
  • 重定向到另一个文件夹

    我读了这个 htaccess 重写以将根 URL 重定向到子目录 https stackoverflow com questions 990392 htacces rewrite to redirect root url to subdir
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • htaccess 重写 url 删除子目录

    我正在尝试重写 http www example com directory folder to http www example com directory htaccess 文件位于directory 这是我的 htaccess 文件
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • .htaccess 在动态文件夹名称中加载索引

    我在 htaccess 加载动态文件夹名称中的索引时遇到问题 这是我的目录结构 root products gt this is constant folder name 而不是使用 GET 获取产品 url root products i
  • 使用 .htaccess 重定向到 404 错误的 php/html 文件

    例如 我想将所有 404 错误重定向到 404 php 我尝试过使用ErrorDocument 404 404 php在 htaccess 中 但如果运气不好 也许我的其他规则不允许这样做 我不太确定 因为我在 www 上找不到此信息 如果
  • .htaccess 将所有页面重定向到新域上的主页

    我将使用哪个重定向规则来重定向下的所有页面olddomain example被重定向到newdomain example 该网站的结构完全不同 所以我想要每一页在旧域名下重定向到新域名索引页 我认为这可以 在 olddomain examp
  • 在 Ubuntu 中执行 .cgi 文件

    我在 Ubuntu 下运行 Apache PHP 当我运行 cgi 文件时 通过http localhost mycgi cgi 浏览器将显示代码而不是运行它 如何让浏览器执行 CGI 文件而不是显示其内容 将这些行添加到您的 apache
  • Application.cpp 中的 SoftException:249:无法访问文件

    我有一个包含新闻消息的网站 而在我的 htacces文件我有这行代码 RewriteRule event 0 9 events php id 1 如果我访问 mysite com index event 1 我会得到一个500 intern
  • 如何在 Lift 框架中添加新页面

    如何在 lift 中的 webapp 目录中添加一个可供用户访问的新页面 目前只能通过index html访问http localhost 8080 com http localhost 8080 or http localhost 808
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA

随机推荐

  • 如何从 Perl 正则表达式生成所有可能的排列?

    我知道你可以使用列表生成所有排列glob http perldoc perl org functions glob html or 算法 置换 http search cpan org dist Algorithm Permute例如 但如
  • 我正在尝试在 Cocoapods 中制作一个vendered_frameworks

    我想要做的是创建一个可可豆荚 它不显示我的源代码的实现 有人告诉我你可以使用 s ios vendored frameworks 并嵌入你的框架 就像 iOS 对其框架所做的那样 我想做的是嵌入我的框架 但不让我的源文件可见并能够编辑 我究
  • RecyclerView 使用 DiffUtil,防止在更改时滚动底部

    我的方法有问题recyclerViev 特别是滚动 我有一些列表 它是实时更新的 添加了一些项目 删除了一些项目 并且所有内容都按某个参数排序 因此 最初在列表中第一个的项目可以更改其参数 排序后该项目将处于不同的位置 So my recy
  • 在可移植类库中实现自定义异常

    在为 NET 设计自定义异常时 MSDN 提供了这些指导方针 http msdn microsoft com en us library ms229064 aspx 特别是 指南规定自定义异常 应该是可序列化的 即实现ISerializab
  • 当我本地开发时,如果我的本地域未在 Yahoo 注册,如何让 Yahoo OAuth 正常工作?

    我正在开发一个使用 Yahoo OAuth 的应用程序 OAuth 一直工作正常 但我刚刚在 Yahoo 注册了我的域 现在它不允许我在本地开发时使用 OAuth 因为 不允许自定义端口 或者主机未使用此消费者密钥注册 问题是因为我的回调
  • 如何在 XULRunner (js-ctypes) 中使用 ReadDirectoryChangesW

    我正在尝试实施回答这个问题 https stackoverflow com questions 11495227 how can i monitor a file asynchronously in firefox关于异步监视 Window
  • 获取我过去 5 天内在 git 中完成的所有提交

    我不太擅长 sed 或 awk 每个星期五我都想查看过去 5 天内我完成的所有提交 以了解我做了哪些工作 目前我知道的唯一命令是 git log since 5 days Try git log since 5 days author ro
  • Hibernate:对 MySQL 使用反引号,但对 HSQL 不使用反引号

    我从事的一个项目 使用 Java Spring Hibernate 最近从 Oracle 更改为 MySQL 在少数情况下 代码中的某些属性是 MySQL 中的保留字 例如 release 有几种解决方案 1 重命名代码和后续 getter
  • git log 排除重命名

    我可以列出文件的提交 即使它已被重命名或移动 git log follow foo sh 但是 我想 跟踪 该文件 但仅列出文件实际更改的提交 就像是 git log follow exclude renames foo sh git lo
  • DevExpress GridControl 单元格的内部文本可选择但不可编辑

    GridControl 的工作原理就像 Excel 一样 点击once在细胞上选择它 复制复制单元格值和标题 点击twice在细胞上选择内部文本 复制仅复制内部文本 我正在努力防止单元版本挂钩ShowingEditor事件 将版本设置为e
  • Phonegap onscroll 在滚动停止之前不起作用

    我正在使用phonegap 和jquery mobile 开发一个ios 应用程序 我的应用程序中有一个可以滚动的列表 我使用 webkit overflow scrolling touch overflow scroll 至于滚动感觉像原
  • 如何忽略数组适配器中的第一项

    public class ListViewImgAdapter extends BaseAdapter public static final String TAG ListViewImgAdapter private final int
  • NTAG212 Mifare Ultralight 带身份验证

    我是 NFC Android 新手 我已经被困了好几天试图获取第 4 页到第 7 页NTAG212 Mifare Ultralight 带身份验证 我已经有了 PWD 和 PACK 来做PWD AUTH基于NTAG212 Docs 我采用这
  • 激活当前的 QNetworkInterface 并连接到互联网

    我想让当前的网络接口处于活动状态并连接到互联网 实际上 我可以检查网络是否正常以及是否不是环回网络 foreach QNetworkInterface interface QNetworkInterface allInterfaces if
  • Rails - 以可移植的方式创建临时文件

    我的 Rails 应用程序在 Ubuntu 服务器计算机上运行 我需要创建临时文件 以便将它们 馈送到 第二个独立应用程序 我将为此使用 rake 任务 以防需要此信息 我的问题是 在 Rails 应用程序上创建临时字段的最佳方法是什么 因
  • npm install:有没有办法忽略 package.json 中的特定依赖项

    我目前正在尝试为包含本地依赖项的node js 项目创建一个docker 容器 这似乎会导致 docker 出现问题 因此作为解决方法 我尝试仅复制本地依赖项文件夹并忽略 package json 文件中的依赖项条目 有没有办法指定我想忽略
  • 如何合并对象数组?

    假设我有一系列文章 每篇文章可能有也可能没有超过 1 个图像对象 现在由于 mysql 无法将对象分组在一起 所以你必须自己做 所以结果是你得到near重复的文章对象 唯一的区别是图像对象 By near重复我的意思是返回结果的唯一区别是图
  • 如何使用 jest 模拟 window.navigator.language

    我试图嘲笑window navigator language我的玩笑单元测试中浏览器中的属性 以便我可以测试页面上的内容是否使用正确的语言 我在网上发现有人使用这个 Object defineProperty window navigato
  • 自定义异常类型

    我可以在 JavaScript 中为用户定义的异常定义自定义类型吗 如果是这样 我该怎么做 From 网络参考 http webreference com programming javascript rg32 index 2 html t
  • .htaccess 将图像文件重写为php脚本

    这是我现在拥有的 htaccess这应该在未来有效 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME 1 R L RewriteCond REQUEST