Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 为什么fatfree需要一个基于Mac而不是Ubuntu的基础?_Macos_Ubuntu_Apache2_Fat Free Framework - Fatal编程技术网

Macos 为什么fatfree需要一个基于Mac而不是Ubuntu的基础?

Macos 为什么fatfree需要一个基于Mac而不是Ubuntu的基础?,macos,ubuntu,apache2,fat-free-framework,Macos,Ubuntu,Apache2,Fat Free Framework,我最近在Ubuntu上使用了很多FatFree,把它放到子目录中也没有问题。然而,我最近试图在Mac(10.6.8)上的一个用户网站上这样做,结果遇到了问题 我想知道是否有人知道为什么Ubuntu上的默认Apache设置似乎允许路由在.htaccess中没有重写库的情况下工作,但Mac上的设置使之成为必要 Ubuntu安装程序使用了大量虚拟主机,而Mac配置只有一个服务器配置,启用了mod_userdir,并且每个用户的站点目录都有一个指令。我不确定,但我可以告诉你,大多数apache安装程序的

我最近在Ubuntu上使用了很多FatFree,把它放到子目录中也没有问题。然而,我最近试图在Mac(10.6.8)上的一个用户网站上这样做,结果遇到了问题

我想知道是否有人知道为什么Ubuntu上的默认Apache设置似乎允许路由在.htaccess中没有重写库的情况下工作,但Mac上的设置使之成为必要


Ubuntu安装程序使用了大量虚拟主机,而Mac配置只有一个服务器配置,启用了mod_userdir,并且每个用户的站点目录都有一个指令。

我不确定,但我可以告诉你,大多数apache安装程序的默认值是
RewriteBase/
,如果F3位于webroot上,则再次将其写入.htaccess文件是多余的。在mac上的MAMP设置中可能缺少此部分

在virtualhost或webroot的子目录中运行F3通常需要有效的RewriteBase定义

有关这方面的其他信息,请参见:


我不确定,但我可以告诉您,大多数apache设置都将
RewriteBase/
作为默认值,如果F3位于webroot上,则再次将其写入.htaccess文件是多余的。在mac上的MAMP设置中可能缺少此部分

在virtualhost或webroot的子目录中运行F3通常需要有效的RewriteBase定义

有关这方面的其他信息,请参见:


让我来解释一下,你应该如何分析Mac和Ubuntu配置之间的差异,这样你就可以理解为什么RewriteBase是其中一个所必需的,而不是另一个。将此添加到Apache配置中:

RewriteLog /var/log/apache2/error.log
RewriteLogLevel 9

让我解释一下你应该如何分析Mac和Ubuntu配置之间的差异,这样你就可以理解为什么RewriteBase是其中一个而不是另一个所需要的。将此添加到Apache配置中:

RewriteLog /var/log/apache2/error.log
RewriteLogLevel 9
说明除非满足以下任一条件,否则需要RewriteBase指令:

  • 原始请求和替换位于DocumentRoot下面(而不是通过其他方式(如Alias)可以访问)
  • 包含重写规则的目录的文件系统路径(以相对替换作为后缀)在服务器上作为URL路径也是有效的(这种情况很少见)
第一个条件可能是Ubuntu设置满足,但Mac设置不满足,因为您使用的是mod_userdir。如果将文件从~/Sites移动到DocumentRoot(Mac上的默认值为/Library/Webserver/Documents),则可能不再需要RewriteBase。

说明需要RewriteBase指令,除非满足以下任一条件:

  • 原始请求和替换位于DocumentRoot下面(而不是通过其他方式(如Alias)可以访问)
  • 包含重写规则的目录的文件系统路径(以相对替换作为后缀)在服务器上作为URL路径也是有效的(这种情况很少见)

第一个条件可能是Ubuntu设置满足,但Mac设置不满足,因为您使用的是mod_userdir。如果您将文件从~/Sites移动到DocumentRoot(Mac上的默认值为/Library/Webserver/Documents),您可能不再需要重写库了。

谢谢!你有什么日志格式的链接吗?我有几十行关于每个请求的内容,没有一行提到RewriteBase,或者似乎表明RewriteBase有任何影响。谢谢!你有什么日志格式的链接吗?我有几十行关于每个请求的内容,没有一行提到RewriteBase,或者似乎表明RewriteBase有任何影响。是的,你是对的。在/Library/Webserver/Documents/fatfreemaster中,如果没有重写库,它可以正常工作!谢谢是的,你是对的。在/Library/Webserver/Documents/fatfreemaster中,如果没有重写库,它可以正常工作!谢谢