.htaccess 的公共目录

2024-03-18

我在index.php中有一个调度程序函数,因此URL如下:

/博客/显示转到

/index.php/blog/show


<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>  

我如何修改它,以便我可以将所有静态文件转储到公共目录中,但在 URL 中不使用 public 的情况下访问它们。

例如 /docs/lolcats.pdf 访问

驱动器上的 /public/docs/lolcats.pdf

我试过这个


RewriteCond %{REQUEST_FILENAME} !f
RewriteRule ^(.*)$ public/$1 [QSA,L]  

尝试这个:

RewriteCond %{DOCUMENT_ROOT}public%{REQUEST_URI} -f
RewriteRule !^public/ public%{REQUEST_URI} [L]

如果你想在根目录下的子目录中使用它:

RewriteCond %{REQUEST_URI} ^/subdir(/.*)
RewriteCond %{DOCUMENT_ROOT}subdir/public%1 -f
RewriteRule !^public/ public%1 [L]

我找到了另一个没有明确命名子目录的解决方案:

RewriteRule ^public/ - [L]
RewriteCond public/$0 -F
RewriteRule .* public/$0 [L]

重要的改变是使用-F代替-f因为前者触发了子请求。

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

.htaccess 的公共目录 的相关文章

随机推荐

  • Flyspell 无法在 emacs 中加载 LaTeX 文件

    下列的这个网页 http www sop inria fr members Manuel Serrano flyspell flyspell html 我编辑了 emacs 文件并添加了以下行 add hook LaTeX mode hoo
  • 使用 ::SysFreeString() 释放 BSTR。更多平台依赖性?

    我正在编写一个 COM 服务器 它有很多接口和方法 大多数方法都将 BSTR 作为参数并作为用于返回的本地参数 一个片段看起来像 更新5 真正的代码 它根据数据库的特定条件从一堆数据中获取数据以填充对象数组 STDMETHODIMP CAp
  • PHP - 使用socket_recv时出错

    在此函数内运行 socket recv 时出现套接字错误 function readByteXByteSIBmsg msg buf try while ret socket recv this gt kpSocket buf 8192 0
  • Mercurial 和 NTFS 备用数据流

    Mercurial 如何处理备用数据流 在 NTFS 文件系统中 如果它不能处理这个问题 是否有 DCVS 可以处理 EDIT 当我更改版本时update ADS 会发生什么情况 它丢失 删除 了吗 也有版本吗 是不是都被忽略了 Mercu
  • 为什么 catch 参数是隐式最终参数?

    catch IOException SQLException ex logger log ex throw ex 这是为什么ex隐式最终 让 ex 隐式最终有什么用 它是隐式最终的 因为更改所指向的对象对您来说没有意义ex 特别是在这种情况
  • 计算UIScrollView的minimumZoomScale

    我有一个图像 我想将其加载到图像视图中 并设置minimumZoomScale 以及将zoomScale设置为aspectFill之类的比例 我计算如下 configure the map image scroll view iImageS
  • 以零长度调用 write() 会产生什么后果?

    在 Linux 中处于相当高的水平write 函数 它会过滤掉写入 0 长度缓冲区的请求 这是有道理的 谁愿意操作系统浪费时间钻探各层只是为了确定没有任何工作要做 嗯 我 这与Linux 内核中的 I2C 写入确认轮询 https stac
  • 绑定到 ASP.NET GridView 时的 TypeConverter

    我试图将对象的 IList 绑定到 GridView 的数据源 并且该对象的属性之一是枚举 当对象绑定到 GridView 行时 我试图在枚举上使用 TypeConverter 来使用说明 它看起来不像我的EnumConverter Con
  • ImportError:libcublas.so.9.0:无法打开共享对象文件

    目前我在 Gpu 支持系统中安装了 cuda 8 0 和 cuda 9 0 我在从 keras 模块导入时遇到了这个错误 它说无法加载本机张量流运行时 我收到的错误日志是 Traceback most recent call last Fi
  • ViewTreeObserver 布局的 getHeight() 返回零

    我在用视图树观察者 in OnCreate获取工具栏和底部布局高度的方法 但我仍然得到0 height 为什么 难道我做错了什么 这就是我的调用方式 ViewTreeObserver viewTreeObserver toolbar get
  • 将内容添加到 Django Admin 中的每个视图(base_site.html)

    我想将对象列表传递到 Django 管理中的自定义模板 删除视图 and 更改视图 我修改了 base site html 以包含导航栏 并且我想从视图中将对象列表传递到导航栏 我之前也为 django admin index change
  • 重载方法的 Javadoc 重用

    我正在开发一个 API 其中包含许多名称相同的方法 只是签名有所不同 我认为这相当常见 它们都做同样的事情 除了如果用户不想指定的话 它们会默认初始化各种值 作为一个易于理解的例子 考虑 public interface Forest pu
  • 如何以编程方式创建 localdb .mdf?

    如何以编程方式创建 localdb mdf 可接受的解决方案excludeVisual Studio ssms aspnet regsql 一个简单的解决方案可能看起来像这样 static void Main string args usi
  • 如何直接从 Android 应用程序发送电子邮件而不显示设备的默认电子邮件格式?

    我正在构建一个从 Android 应用程序发送电子邮件的表单 我使用 Intents 发送电子邮件 即 Intent sendIntent sendIntent new Intent Intent ACTION SEND 我的要求是我希望立
  • SSMS 结果作为可点击的链接

    我对 SQL 相当陌生 我环顾四周 看看是否可以找到一种方法来做到这一点 如果可能的话 这是我的 SQL 查询文本 SELECT CONCAT https domain 8080 analyzer sipid SIPCallId cmd G
  • 有没有办法让 PHP 详细加载类,指示 .php 文件的完整路径?

    我想让 PHP 在加载类时将调试信息 包括 php 文件的完整路径 打印到标准错误 例如 从 path to my class MyClass php 加载 MyClass 有没有办法在不事先知道源文件在哪里的情况下做到这一点 编辑以澄清我
  • after_commit 回调被调用多次

    更新 对 update attributes 的调用是否会获取它自己的事务 我看过this https stackoverflow com questions 7603448 rails after save callback being
  • 如何设置bluepy无需sudo即可扫描的环境?

    我编写了一些 Python 脚本 用于扫描设备 如果它们与 名称 匹配 我就会连接到它们并做一些蓝色的事情 该脚本是建立在bluepy module 我认为我不喜欢的是 我需要运行设备扫描sudo like sudo python3 get
  • 如何使用 mongodb 聚合框架获取运行总计?

    我对 MongoDB 相当陌生 正在使用聚合框架 文档中的示例之一显示以下内容 它返回每月新用户加入的总数并列出加入的月份 db users aggregate project month joined month joined group
  • .htaccess 的公共目录

    我在index php中有一个调度程序函数 因此URL如下 博客 显示转到 index php blog show