父目录中的 htaccess 导致“RewriteEngine not allowed here”

2023-12-20

目前,我正在使用 OSX Server (Yosemite) 托管一堆 PHP 应用程序,其中一些应用程序在网站文档根目录下有一个用于子域的子目录。自从更新到 OSX Server 的 Yosemite 版本以来,这些子域一直抛出 500 错误,错误日志引用RewriteEngine not allowed here.

经过调查,我已确认父域网站和子域网站都有AllowOverride All已配置,并且 .htaccess 文件正在非子域站点上运行。另外,我发现重命名或以其他方式从父目录中删除 .htaccess 文件会导致子域再次开始工作。

/original_site_doc_root <- doc root for regular site
    .htaccess
    index.php
    ...
    subdomain/ <- configured as a seperate site in osx server as a subdomain
        .htaccess
        index.php
        ...

我所做的每一点谷歌搜索最终都会提到确保mod_rewrite已安装并且AllowOverride配置正确。

我的问题是,如何让 Apache 停止在子域站点上抛出 500 错误?

Edit

这是让我悲伤的子域的 .htaccess 文件(对域、目录和页面进行模糊测试以保护无辜者)

RewriteEngine On
Options +FollowSymlinks -Indexes
RewriteCond %{HTTP_HOST} ^www\.m\.somesite\.com$ [NC]
RewriteRule ^(.*)$ http://m.somesite.com/$1 [L,R=301]
RewriteBase /

# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

# enable PHP error logging
php_flag  log_errors on
php_value error_log  /some/fuzzed/dir

RewriteRule ^$ /index.php [L]
RewriteRule ^home$ /home.php [L]

RewriteRule ^some-page1$ /some-page1.php [L]

RewriteRule ^some-page2$ /some-page2.php [L]

RewriteRule ^some-page3/(.*)$ /some-page32.php [L]
RewriteRule ^some-page3(\/?)$ /some-page32.php [L]

RewriteRule ^some-page4/(.*)$ /some-page4.php [L]
RewriteRule ^some-page4(\/?)$ /some-page4.php [L]

RewriteRule ^some-page5/(.*)$ /some-page5.php [L]
RewriteRule ^some-page5(\/?)$ /some-page5.php [L]

RewriteRule ^some-page6/(.*)$ /some-page6.php [L]
RewriteRule ^some-page6(\/?)$ /some-page6.php [L]

父目录/非子域站点的 .htaccess 或多或少相似,唯一真正的相关性区别是前两行:

RewriteEngine On
Options +FollowSymlinks -Indexes -Multiviews

刚刚遇到了同样的问题(在最近更新 Apache2 之后)并找到了解决方案。

假设您的域名是example.com目录是/var/www/example/,并且您有一个名为的子域api.example.com带目录/var/www/example/api/.

尝试使用以下内容:

<VirtualHost *:80>
 ServerName api.example.com
 DocumentRoot /var/www/example/api

 <Directory /var/www/example/>
     AllowOverride FileInfo Options
 </Directory>

 <Directory /var/www/example/api/>
     Require all granted
     Options +FollowSymLinks +MultiViews +ExecCGI -Indexes
     AllowOverride all
     Order allow,deny
     Allow from all
 </Directory>

</VirtualHost>

这应该有效!

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

父目录中的 htaccess 导致“RewriteEngine not allowed here” 的相关文章

随机推荐

  • 可以让 jqGrid 搜索框留在页面上吗?

    现在 我必须单击 jqGrid 搜索图标才能弹出搜索框 我想做的是始终在网格上方打开搜索框 而不是弹出窗口 我在他们的演示中没有看到任何内容 但我希望有人已经做到了或知道如何做到 做你需要的最简单的方法是 var grid list prm
  • 将 Woo Commerce 下拉菜单转换为单选按钮

    我在将变体下拉列表转换为支持 woocommerce 的网站的单选按钮时遇到问题 我已经尝试找到答案here https stackoverflow com questions 11819604 dropdown converted to
  • Android BLE Gatt 特性 WRITE_TYPE_NO_RESPONSE 不起作用

    我开发了一个连接到 CC2540 BLE 外设的 Android 应用程序 当我执行类型为无响应 WRITE TYPE NO RESPONSE 的特征写入时 我仍然会在应用程序级别收到 onCharacteristicWrite 回调 这种
  • 转换到 Swift 3 的困难

    从 Swift 2 转换到 Swift 3 后 即使在转换编辑 gt 转换 gt 到当前的 swift 语法之后 我收到很多错误 尤其 在我下载此 beta Xcode 8 0 并转换为 Swift 3 之前 我的项目总共显示了 90 个错
  • 删除大标题 UINavigationBar 中 UISearchController 顶部的 1px 行

    我正在从大风格的视图过渡UINavigationItem进入具有大风格的视图UINavigationItem and a UISearchController 我已经自定义了背景颜色UINavigationBar 由于某种原因 之间有 1p
  • PsExec 仅适用于“runas /netonly”,不适用于 -u 和 -p 参数

    我的意思是说 If I run runas netonly user computername username cmd 输入本地管理员帐户 用户名 的密码 然后输入psexec computername cmd 我现在有了一个工作 she
  • 获取脚本标签的数据属性?

    假设我有以下脚本标签 在那之内embed js文件 我怎样才能得到它的值data id属性 我正在努力保持embed js文件尽可能轻 所以理想情况下不需要使用某种 JavaScript 库 对于支持 html5 的现代浏览器 您可以使用d
  • 我可以多次使用

    标签,一个用于桌面,另一个用于移动吗?

    我正在使用 bootstrap 3 html 5 我的问题是 我可以使用 h1 在同一页面中多次标记 我正在使用一个 h1 对于桌面和其他 h1 对于移动设备 搜索问题后我有点困惑 任何人都可以正确地建议我正确的方法吗 我的代码如下 这些代

  • 天蓝色表存储中的事务

    假设我有 using TransactionScope scope new TransactionScope if IndexExists index RowKey DeleteIndex index RowKey deletes usin
  • iOS:如何写入项目中特定目录的文件?

    我正在尝试将我在应用程序中收集的一些字符串输出到文本文件中 文本文件将始终存在于我的项目中 如下所示 我试图用新的 多行 字符串覆盖文件中的所有内容 func writeFile let theFile FileHandle FileHan
  • 使用 javascript 执行器为 selenium webdriver ruby​​ 绑定脚本启用禁用字段

    我正在 Selenium Webdriver 脚本中编写以下 Ruby 代码 以通过 Javascript 执行器启用 UI 上的禁用字段 browser execute script browser find element xpath
  • 三个彼此相邻的 DIV,具有流畅的水平宽度

    我需要知道如何将所有三个 div 与所有不同的背景图像对齐 中间的 div 需要为 989px 左 div 和右 div 的宽度并不重要 简而言之 http jsfiddle net hobobne qyGC5 http jsfiddle
  • 在 Mobile Safari 中保持 WebSocket 处于活动状态

    一旦屏幕锁定 是否可以在 Mobile Safari 中保持 html 5 网页 WebSocket 连接打开 我想向用户发送全天的持续更新 而他们的屏幕必须始终解锁才能接收这些通知 这似乎很愚蠢 还有其他选择吗 我认为当浏览器处于后台或屏
  • Java BufferedReader 返回文本文件的顶部?

    我目前有 2BufferedReaders 在同一文本文件上初始化 当我读完第一个文本文件后BufferedReader 我使用第二个从顶部再次遍历文件 需要多次遍历同一文件 我知道关于reset 但需要先调用mark and mark 需
  • 如何在mongo中插入带有日期的文档?

    我们正在尝试插入一个以当前日期作为字段的文档 我们正在使用 mongodb 的 eclipse 插件用 java 编写 我们想要执行Date mongo 命令从 mongo 获取日期 而不是从 java 获取日期 我怎样才能执行这个 mon
  • 如何将 C 函数移动到单独的文件中?

    我正在开始 C 编程 我目前有一个包含很多函数的大文件 我想将这些函数移至单独的文件中 以便代码更易于阅读 但是 我似乎无法弄清楚如何正确包含 编译 并且在我找到的任何在线教程中都找不到示例 这是一个简化的示例 include
  • CSS 字体未在 IE9 中加载

    我遇到了 font face 字体无法在 IE9 中加载的问题 IE8 及更低版本运行完美 就像我尝试过的所有其他浏览器一样 这是我的 CSS 字体松鼠语法 font face font family ssmicon src url ssm
  • Log4Net - 我可以在 Config 中拥有自定义部分名称吗

    我需要在配置部分使用除 log4net 之外的部分名称 我知道这是我们通常使用的 section type section 但我需要有一个这样的部分 section type section 我正在开发一个 sitecore 网站 它有自己
  • 使用便携式打印机通过蓝牙与 Delphi XE7 连接

    我正在尝试与世宇LK P32通过蓝牙打印机 为此 我正在使用德尔福XE7 我用 Delphi 做了一些例子 但没有成功 我将配对的打印机放在平板电脑上 即使这样我也无法连续打印 当我打印某些内容时 必须重新启动应用程序 以便我可以再次打印某
  • 父目录中的 htaccess 导致“RewriteEngine not allowed here”

    目前 我正在使用 OSX Server Yosemite 托管一堆 PHP 应用程序 其中一些应用程序在网站文档根目录下有一个用于子域的子目录 自从更新到 OSX Server 的 Yosemite 版本以来 这些子域一直抛出 500 错误