RewriteCond 文件存在

2023-12-14

这么简单的问题但我和htaccess却一直相处不来。

  1. 如果文件存在,则提供该文件。
  2. 如果 URI 只是 / 并且 index.html 存在,则提供 index.html
  3. 否则提供 app.php

这是.htaccess:

# Disable the directory processing, Apache 2.4
DirectoryIndex disabled xxx
    
RewriteEngine On
    
# Serve existing files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
    
# For / serve index.html if it exists
RewriteCond %{REQUEST_URI} ^/$
RewriteCond    index.html -f
RewriteRule .? index.html [L]
    
# Otherwise use front controller
RewriteRule .? app.php [L]

如果我注释掉 RewriteCond index.html -f 行,只要 index.html 实际上存在,它就可以工作。但我还想检查index.php,所以我需要文件是否存在检查。如果没有别的事,我想了解为什么发布的行不起作用。


这应该有效:

# Disable the directory processing, Apache 2.4
DirectoryIndex disabled xxx
    
RewriteEngine On
    
# Serve existing files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
    
# For / serve index.html if it exists
RewriteCond %{DOCUMENT_ROOT}/index.html -f [NC]
RewriteRule ^/?$ index.html [L]
    
# Otherwise use front controller
RewriteRule ^ app.php [L]

请记住RewriteCond with -f or -d需要文件或目录的完整路径,这就是为什么您需要在文件名前加上前缀%{DOCUMENT_ROOT}/。这里不需要转义点。

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

RewriteCond 文件存在 的相关文章

  • 在 R 中分割并提取字符串的一部分(在“.”和数字之间)

    我有一个字符变量 companies 观察结果如下 612 Grt Am Mgt Inv 7 33 77 威克斯4 61 265 王实验室8 75 9 CrossLand 节省 6 32 228 JPS纺织集团2 00 我试图将这些字符串分
  • Scrapy解析javascript

    我的页面上有一个 JavaScript 代码 如下所示 new Shopify OptionSelectors product select product id 185310341 title 10 Design Siyah u0026
  • 将存储在变量中的正则表达式与量词组合的正确语法是什么?

    我知道堆栈溢出中已经有很多关于在正则表达式中使用变量的问题 并且如果变量是一个单词 或者只需要匹配一次 我设法使其工作 但是 一旦我添加特殊字符 空格和量词 我就无法让它匹配 例如 我想匹配中的任何内容some var任何包含它的 3 个连
  • JavaScript 上的正则表达式;检查多个字符串之一的实例

    我已经做了很多服务器端表单验证 但到目前为止 我所做的唯一客户端表单验证是检查 null 空白条目 例如 if value value null 我现在正在检查用户输入的粗俗内容 并发现使用 javascript 成功检查了这些内容 合并到
  • grep 以特定字符串开头的行

    我想找到文件中以特定字符串开头的所有行 问题是 我事先不知道字符串里有什么 该值存储在变量中 天真的解决方案如下 grep my string file txt 因为如果 Bash 变量my string包含任何正则表达式特殊字符 grep
  • 正则表达式 在 Coldfusion 中匹配整个单词字符串

    我正在尝试这个例子 第一个例子 keyword star myString The dog sniffed at the star fish and growled regEx b keyword b if reFindNoCase reg
  • 在这些情况下限制破折号的正则表达式模式

    Scenario 我正在使用第三方文件重命名软件 该软件是用 Delphi 编写的 并且具有 pascal 脚本支持 该应用程序允许使用正则表达式来重命名文件 这意味着 如果我需要对文件名执行的操作不能仅使用一个正则表达式来完成 那么我可以
  • 在 python 中使用正则表达式返回唯一匹配

    生成正则表达式的所有唯一匹配项的最有效 或最 Pythonic 方法是什么 现在我刚刚申请set 使用后findall 但我不确定是否有更好的方法 查找所有匹配项的其他方法 使用其他方式通过正则表达式在文本中搜索 您可以与一路上获得的匹配项
  • Apache 未从 XAMPP 控制面板运行(错误:Apache 意外关闭。这可能是由于端口被阻止)

    我已在 Windows 7 上成功安装 XAMPP xampp win32 1 8 2 0 VC9 installer exe 但不幸的是 在从XAMPP控制面板运行Apache时发现以下错误 5 38 38 PM Apache Error
  • 在android上使用正则表达式验证字符串

    我希望我的字符串不包含 and 我用这个代码 private static boolean IsMatch String s String pattern try Pattern patt Pattern compile pattern M
  • 删除重复字符

    我如何删除重复字符 例如删除字母k in cakkkke让它成为cake 执行此操作的一种简单方法是循环遍历字符串的每个字符 如果该字符不是前一个字符的重复 则将字符串的每个字符附加到新字符串 下面是一些可以执行此操作的代码 newStri
  • JavaScript 解析 bbcode url

    我已经尝试解析 JavaScript 中的 bbcode URL 标签有一段时间了 例如 url http examp le linktext url 应该成为 a href http examp le linktext a 我对此做了很多
  • Apache ReWrite 规则是否排除单个文件或文件类型?

    您能帮助我制定一条 Apache 规则来排除特定文件名或文件类型吗 这是我目前的规则 RewriteRule blog L RewriteRule crossdomain xml L Based on first response Rewr
  • PHP正则表达式在wordpress短代码标签之间替换

    我有一个短代码 我希望能够根据帖子的上下文将其删除 例如 tooltip slug test Test Text tooltip 我希望输出是 span class dummy Test Text span 我已经用 preg replac
  • 如何将正则表达式捕获组与 JFlex 结合使用?

    虽然这个问题是关于 JFlex 的 但它可能也适用于其他扫描仪生成器 例如 lex flex 如果我有一些规则 如何在该规则的一部分中创建一个捕获组 并使用该捕获组的结果作为在规则匹配时调用的代码的参数 例如 假设我有一个匹配 SGML 标
  • 如何设置 Apache FOP 中的默认语言

    我正在使用 Apache FOP 2 1 生成 PDF 文件 为此 我尝试将默认语言设置为英语 这应该在通过 Adob e Reader 的选项 文件 属性 高级 阅读选项 创建 PDF 后进行验证 该值当前为空 我尝试过设置xml lan
  • 如何验证电子邮件地址与网站域名是否匹配?

    我的表单上有 2 个输入字段 电子邮件和网站 如何使用 JQuery 验证电子邮件地址域必须与网站域匹配 例如 如果网站是http example com http example com或带 www 或不带 http 或不带http ww
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • VirtualHost 在 Ubuntu 14.04 上始终返回 Apache 的默认主机

    我尝试设置默认虚拟主机之外的虚拟主机localhost 每当我尝试呼叫我的虚拟主机时http test我得到了位于目录中的默认 Apache2 索引文件http localhost 此外 apache 在禁用后仍然返回此页面 a2dissi
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后

随机推荐

  • 如何获取应用于文本视图的字体名称

    Textview label TextView findViewById R id item title label setText Solve My Issue Log d TAG Font Family String valueOf l
  • 跨多索引的二元运算广播

    谁能解释为什么跨多索引系列广播不起作用 这可能是 pandas 0 12 0 中的一个错误吗 x pd DataFrame year 1 1 1 1 2 2 2 2 country A A B B A A B B prod 1 2 1 2
  • 正则表达式 正则表达式中“字面”的含义

    有没有办法 按原样 处理正则表达式字符串的一部分 IE 我想匹配文字模式 w 在某些文本中 夸张的例子 但你明白我的意思 我可以将整个位包含在某些内容中吗 Use Regex Escape See http msdn microsoft c
  • Tensorflow 对象检测推理在 CPU 上速度缓慢

    系统信息 您正在使用的模型的顶级目录是什么 对象检测 ssd inception v2 我是否编写了自定义代码 而不是使用 TensorFlow 中提供的常用示例脚本 No 操作系统平台和发行版 例如Linux Ubuntu 16 04 乌
  • 如何将 COM 对象 Microsoft.Office.Interop 部署到 IIS,以便我的 C# WCF 服务引用能够工作?

    当我尝试在本地计算机上从 IIS 7 运行有关 Microsoft Office Interop Outlook 的 Web 应用程序时 出现如下错误 由于以下错误 检索 CLSID 为 0006F03A 0000 0000 C000 00
  • iPhone 应用程序的大小有什么限制?

    我有一个非常大的应用程序 它有大量的图像和声音 总共有 30 MB 大小 1 官方对应用程序大小有限制吗 2 我还应该考虑其他 实际 限制吗 四处阅读 有报道称应用程序的绝对最大大小为 2GB http discussions apple
  • TableVew - 抛出 KeyEvent 时编辑单元格

    我在 TableView 上有一个事件侦听器 用于侦听键盘事件 Add event listener to table table setOnKeyTyped event gt TablePosition
  • python 打印所有函数调用以了解脚本流程

    如何打印每个函数 方法调用 我尝试过使用 python m trace trace但它也打印函数内部代码 我只想要被调用的函数名称 在代码中使用回溯会打印调用命令本身之前调用的最后一个函数 并且代码包含许多类 你可能会发现 l useful
  • Ruby 中的 __FILE__ 是什么意思?

    我在 Ruby 中经常看到这样的情况 require File dirname FILE config environment 什么是 FILE mean 它是对当前文件名的引用 在文件中foo rb FILE 将被解释为 foo rb E
  • ASP.Net MVC ActionFilterAttributes 排序全局与本地

    我想知道 ActionFilterAttribute 属性的执行是否有顺序 我猜测本地的 在控制器的操作上定义的 ActionFilterAttribute 正在按照在操作上定义的顺序执行 然而 有人不知道全局过滤器是否先于本地过滤器应用
  • 仅在登录页面设置 SSL 页面

    我想仅为登录页面设置 SSL 页面 我该怎么做 我参考这篇文章 http weblogs asp net scottgu archive 2007 04 06 tip trick enabling ssl on iis7 using sel
  • python qt,在另一个小部件(声子)上方显示文本/标签

    我正在使用 PySide 制作一个视频播放器 它是与 Qt 框架的 python 绑定 我正在使用声子 一个模块 来显示视频 我想在视频上方显示文本作为字幕 如何在我的声子小部件上方放置另一个小部件 opengl 是一个选项吗 如果您只是创
  • 如何对 google LatLng 对象进行字符串化?

    我正在使用谷歌地图 API 并尝试对点数组进行字符串化 每个点都有纬度和经度 我想要做的是将数据字符串化并将其存储在数据库中 以便以后检索 问题是 由于谷歌地图存储和使用数据的方式 结果JSON stringify有时是奇怪的随机 例如 有
  • 使用分号和大括号的 C# 命名空间声明有什么区别?

    我注意到 C 中命名空间声明的两种不同方法 namespace FirstProgram and namespace FirstProgram 我正在寻找有关 C 中两种类型的命名空间声明的主要区别和用途的信息 示例 带有分号 namesp
  • Ajax 将文件从浏览器上传到 FTP 服务器

    是否可以使用ajax将文件从浏览器上传到FTP服务器 不可以 浏览器不提供允许从 JavaScript 写入 FTP 的 API 你可以将文件发布到 HTTP 端点然后使用服务器端代码将其推送到您的 FTP 服务器
  • 测量 Angular 中 svg 元素的尺寸

    我正在尝试使用 SVG 在 Angular 中创建一个类似仪表的组件来绘制形状 我想将文本放在矩形内居中 文本将根据仪表的值而变化 因此 我想调整字体大小以使该值适合矩形 或者 我可以调整数字格式 例如 如果字符串太长 则使用科学记数法 使
  • 使用 svndumpfilter 包含多个文件夹

    我在服务器中创建了一个名为 allProjects 的存储库 以下是 allProjects 结构 所有项目 Projects projectA projectB projectC projectD projectE 现在我正在尝试创建另一
  • 当 ASP.NET 5 (vNext) 无法重定向绑定时我该怎么办?

    我刚刚接触 MVC 6 我安装了 VS 2015 并使用默认设置ASP NET 5 preview MVC Web Application模板在本地 IIS 下一切运行良好 然后我尝试使用以下命令切换默认 DI 容器StructureMap
  • 如何访问输出阶段的 Mapper/Reducer 计数器?

    我在 Mapper 类中创建了一些计数器 使用 appengine mapreduce Java 库 v 0 5 编写的示例 Override public void map Entity entity getContext increme
  • RewriteCond 文件存在

    这么简单的问题但我和htaccess却一直相处不来 如果文件存在 则提供该文件 如果 URI 只是 并且 index html 存在 则提供 index html 否则提供 app php 这是 htaccess Disable the d