Apache 重写规则将所有请求重定向到包含另一个 .htaccess 的子目录和重写规则

2024-04-15

我的网络服务器上有公共和私人项目。我将所有公开内容放入网络服务器根目录中,并且我有一个private我只能从本地网络访问该文件夹(由其中的 .htaccess 设置)。

我想简单地将每个私人项目放在private文件夹并自动处理请求,但希望 URL 看起来像是从 webroot 提供的。
例如如果有private/project1我想使用网址http://example.com/project1 http://example.com/project1提供该文件夹并且不想更改 URL。

这个简单的重写:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ private/$1           

有效,但是当我有一个private/project2和另外一个.htaccess:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /project2/

<Files .*>
       Order Deny,Allow
       Deny From All
</Files>

# Allow asset folders through
RewriteRule ^(assets/.+) - [L]

# Protect files from being viewed
RewriteRule ^(uploads.+) - [F,L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>
Options -Indexes

然后会出现静态内容,但链接已损坏。 我应该修改什么才能工作?

另外,如果我有一个private/project3并浏览至http://example.com/project3/没有问题,但是当我浏览到http://example.com/project3(没有尾随 /)URL 将显示为http://example.com/private/project3/在浏览器中。为什么 ?我怎样才能避免这种情况?


在您的情况下,您所需要的只是 mod_alias。

然后为您的私人项目提供服务,例如:

Alias /project3 /apache/htdocs/private/project3

通过 .htaccess,您将控制访问权限。

如果您想在不重新启动服务器的情况下控制它,您可以尝试使用以下配置来实现此目的,该配置可以放置在 .htaccess 文件中:

RewriteRule ^/(project1)$ /private/$1/index.html
RewriteRule ^/(project1/)(.*)$ /private/$1$2

index.html - 项目的任何索引文件。 这样,除了您用于私有项目的路径之外,URL 的公共部分将完全可以访问。 您还可以添加 RewriteCond 来检查 IP 并仅为您的本地网络启用重写。

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

Apache 重写规则将所有请求重定向到包含另一个 .htaccess 的子目录和重写规则 的相关文章

  • mod_mono 在新安装的 centos 上出现 EOF 错误

    我全新安装了 Centos 6 3 已完全更新 我已经从源安装了 mono xsp 和 mod mono 每个包都完美编译 它们都以 usr local mono 前缀安装 因此所有内容都位于 usr local mono 下 我已将 In
  • 如何在此 API 中声明全局变量?

    我的应用程序有一个production or development我可以切换的设置 设置服务器时 我在中设置了这个标志Applications gt Mamp gt Conf gt Apache gt httpd conf 它的目的是给我
  • 如何将多个域路由到多个节点应用程序?

    我习惯了典型的 Lamp Web 托管环境 您只需单击 cpanel 中的几个按钮 您的域就会被分区并映射到 htdocs 中的文件夹 我经常使用 Node js 但做同样的事情似乎并不那么简单 如果我有多个节点应用程序 并且我想将doma
  • 如何为codeigniter项目完美设置虚拟主机?

    我正在尝试为 codeigniter 项目制作虚拟主机 我已经在 httpd vhosts conf 中完成了此操作
  • .htaccess 只允许访问包含文件

    我的网站上有各种子文件夹 我希望用户无法通过 URL 访问它们 但同时我的主要 PHP 文件能够包含它们或将它们用作表单或链接上的操作 我尝试使用 htaccess 与
  • 无法将 Laravel 应用程序部署到 EC2

    我的 Laravel 项目全部在我的本地主机上运行 我将其部署到 EC2 但没有任何反应 我在开发控制台中看到的只是内部错误 500 我缺少什么 在部署到 AWS 之前我需要更改哪些内容 这是网址 http ec2 52 88 99 75
  • 在 XAMPP 上设置虚拟主机

    我已经在 Ubuntu 上的 opt lampp 目录中安装了 XAMPP 并且想要设置一些虚拟主机 Apache 虚拟主机教程说明放置
  • 正则表达式匹配非整数?

    尝试创建一个忽略正确整数的正则表达式 1 5 999等 和正斜杠 但在其他所有内容中都找到匹配项 例如 它将找到以下匹配项 test test1 test 1 但忽略了 1 55 7 这是为了模组重写 0 9 我想应该可以解决这个问题 它将
  • .htaccess 中的“hash”url 重写

    我想重写http example com articles html first article with http example com articles first article 可以重写吗 我尝试使用以下但对我不起作用 Rewri
  • Django 与 mod_wsgi 在 apache - 500 错误:Authtype 未设置?

    尝试在 Dreamhost 上部署我的第一个 django 站点 我的这个工作正常 然后我不确定我做了什么让它停止工作 这是错误消息 crit client 74 72 99 26 configuration error couldn t
  • PHP:如何访问根目录之外的下载文件夹? [复制]

    这个问题在这里已经有答案了 我如何创建一个 PHP 脚本 页面 允许会员 买家下载存储在根目录之外的下载文件夹中的压缩文件 产品 我正在使用 Apache 服务器 请帮忙 谢谢 保罗 G 您可能会在 soac 提供的链接中找到一些更好的信息
  • SSE(EventSource):为什么不超过6个连接?

    我想看看在我的机器超载之前我可以设置多少个并发 SSE 又名 EventSource 连接 但使用 Firefox Firefox 18 或 Firefox 20 进行测试时 它在 6 个连接处停止 附加连接没有给出错误 但不发送任何数据
  • 多语言网站的 .htaccess 规则

    我正在重新设计 PHP 多语言网站 en es de fr ru 的 URL 该网站的 URL 是这样的 www mysite com page www mysite com page subpage1 www mysite com pag
  • 将代码从 htaccess 重写为 nginx 配置?

    我在将 htaccess 文件中的重写代码实现到 nginx 配置中时遇到问题 我已经尝试过生成器 http winnginx com htaccess http winginx com htaccess用于生成我的重写 代码 我的ngin
  • PHP 文件由浏览器下载,而不是由本地开发服务器(MAMP)处理

    一切都很顺利 直到我添加AddHandler application x httpd php5s php到本地服务器文档根目录中的 htaccess 文件 根据我正在使用的站点 我经常更改该文件 因为我访问时这样做了http 本地主机 88
  • 我在 apache 中使用乘客 for Rails 时收到 403 错误

    我已经安装了所需的工具 并遵循了几个教程 试图让乘客做出回应 我可以访问公共文件夹 public 500 html 或 422 hml 中的静态文件 昨天我通过虚拟主机进入 发现一些乘客错误 但一段时间后 托管重新启动了服务 从那时起我就无
  • 创建动态子域

    自从我考虑一些网站正在实施的此功能以来已经有一段时间了 它看起来非常成功 类似的网站tumblr com blogger com wordpress com允许用户使用简单的 HTML PHP 表单从网站内注册新的子域名 以我目前对 PHP
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • 如何使用 gradle 将 org.apache.commons.lang3 添加到 Android Studio

    Due to 这个问题 https stackoverflow com questions 994331 java how to decode html character entities in java like httputility
  • 未加载 Firebird 扩展

    我正在尝试在 PHP 中使用 Firebird 扩展 我有扩展文件 php pdo firebird dll php interbase dll in my ext文件夹 我将它们添加到我的php ini像这样文件 PHP PDO FIRE

随机推荐

  • 使用PHP动态添加到.htaccess文件?

    我想做的是自动化网站上线的过程 这些网站都是使用htaccess动态创建的 所以这里是一个例子 RewriteCond ENV REDIRECT STATUS RewriteCond HTTP HOST www domain com NC
  • 使用 biml 分配属性以执行包任务 ssis 对象

    使用 biml 通过 Visual Studio 中的 BIDS 帮助程序 如何为 SSIS 2008 执行包任务对象的属性赋值 特别是 位置 SQL Server 连接 SomeConnectionString 使用 BIML 我已经搜索
  • 如何修复 Android studio 中调用失败来自服务器的意外响应:未经授权

    我有一个项目Gitlab https gitlab com我最近几天一直在用它 现在我想要pull在我的家用电脑上进行项目 但显示以下错误 Invocation failed Unexpected Response from Server
  • 如何在for循环中添加不同大小的numpy数组条目(类似于Matlab的元胞数组)?

    我正在尝试在 python numpy 中实现 Matlab 元胞数组的模拟 Matlab 代码如下 for n 1 10 C n rand 1 n end 请注意 每个单元格元素都有不同的长度 现在在 numpy 中 for n in n
  • 来自 scatter3 数据的 matlab 3d 曲面图

    我想在同一个图上绘制带有曲面图的 3d 散点图 这样我最终会得到如下结果 我本以为下面的代码可能已经实现了我想要的 但显然没有 我有x y and z绘制数据scatter3 x 1 1 1 1 0 95 0 95 0 95 0 95 0
  • 在 Javascript 中添加和减去字符串和数字 - 自动类型转换?

    让我们看一下下面的 JavaScript 代码 在第一个警报框中 显示 2 和 8 串联的结果 即28 然而 在第二个警报框中 它显示两个数字的减法 即6 How The 运算符超载 如果任何操作数是字符串 则执行字符串连接 如果有两个数字
  • Windows.h - 焦点进入文本输入时的通知

    我正在尝试提出一种解决方案 用于在焦点进入文本字段时设置通知 最终目标是通过屏幕键盘重新创建您在移动设备上看到的功能类型 到目前为止我一直在探索SetWinEventHook with EVENT OBJECT FOCUS and GetG
  • 实现领域驱动设计的函数式方法

    我在使用 C 编写领域驱动应用程序方面拥有丰富的经验 我编写的应用程序越多 我就越发现我想要采用一种不太适合标准 C OO 技术的方法 我想编写尽可能多的纯函数 因为它们真的很容易测试 我想以更具声明性的方式编写我的业务逻辑 所以我一直在研
  • Java/MSSQL:java.sql.SQLException 无效的对象名称“TableName”

    我正在尝试将 java 应用程序从旧服务器移动到新服务器 该应用程序在 Tomcat 上运行 使用 Microsoft SQL Server 作为后端数据库 并使用数据源 ODBC 中定义的系统 DSN 来决定连接到哪里 旧服务器使用Win
  • 调用 SWIG 生成的 JNI 时出现 UnsatisfiedLinkError?

    我正在尝试创建一个可从 Java 调用的 C 动态库 我在下面编译了一个DLLCygwin http www cygwin com using SWIG http www swig org Doc1 3 Java html compilin
  • Ember 路由、控制器、视图

    我已阅读 Ember js 网站上的大部分初学者指南 但我仍然对放置内容的正确位置感到困惑 Route 根据在线研究 人们建议将与路由相关的逻辑放入路由中 一切都很好 但我唯一能想到的是this transisionTo 我在其他地方读到所
  • Asp.net 超链接控件相当于

    我想在 asp net 中定义一个 HyperLink 控件 它生成类似于以下内容的 html 输出 a href a 如何才能做到这一点 我同意 SLAks 的观点 但你就这样吧
  • 苹果推送通知限制

    我想知道我们一次向用户发送的苹果推送通知的数量是否有限制 我可以使用 APNS 服务一次发送 100 000 个推送通知吗 如果您在短时间内向同一设备发送多个通知 推送服务将仅发送最后一个通知 https developer apple c
  • 如何使用第三方网络服务避免代码重复 - 不使用动态?

    我正在使用第三方网络服务 其所有方法都具有以下签名 SomeResponseClass SomeMethod SomeRequestClass request 每个方法都有自己的请求类和响应类 但是所有请求和所有响应都有一些共同点 每个请求
  • 是否有在导航栏添加相同的滚动菜单栏?

    我已经再次发布了我的这个问题 但我还没有得到完美的答案 在这里我将再次解释我的问题 这对我来说非常重要 所以不惜一切代价我必须解决它 现在我的问题是 假设我有 4 个tabbaritem in a tabbarController以及项目
  • COMPLETE pragma 不会阻止不完整模式警告

    我为类似列表的类制作了两个模式视图 infixr 5 lt pattern lt Stream s gt Token s gt s gt s pattern b lt bs lt uncons gt Just b bs where b lt
  • JSON从EJS到JS中的JSON对象

    我将 EJS 与 Node JS 结合使用 并向其中传递一个 JSON 对象 但需要将其作为页面中的可用对象进行访问 我从中收到意外的令牌 o 错误 var initData JSON parse 我不明白这里出了什么问题 这是渲染时文件中
  • 如何在 json 中的事件标题中添加换行符

    我无法弄清楚的一件事是能够添加 html 而不会被转义或实际创建新行 这是我的 json id 30 title Basics n Awesome Abs Butt Blast n Danielle B start 2010 05 11T0
  • 在服务器运行时使用tinytest测试Meteor客户端

    是否可以在服务器运行时使用tinytest测试Meteor客户端 这是我仅测试客户端的示例 Tinytest add Add object to a collection function test var people new Meteo
  • Apache 重写规则将所有请求重定向到包含另一个 .htaccess 的子目录和重写规则

    我的网络服务器上有公共和私人项目 我将所有公开内容放入网络服务器根目录中 并且我有一个private我只能从本地网络访问该文件夹 由其中的 htaccess 设置 我想简单地将每个私人项目放在private文件夹并自动处理请求 但希望 UR