我正在一个需要 .htaccess 文件中的 mod_rewrite 规则的网站上工作。
但是,当将文件上传到这个新的 OSX 10.6 Server 安装(使用 Apache 2.2.13)时,它就消失了。我很确定这不仅仅是不可见文件没有显示 - 我已经在我的 FTP 应用程序中将这些文件设置为可见,尽管我没有 shell 访问权限来验证它们是否存在。
phpinfo 显示 mod_rewrite 已启用。但是,没有任何规则被应用。
我不是服务器管理员,但他说任何以“.”开头的文件都不受任何 OSX 服务器支持。我很确定事实并非如此,但需要澄清一下。
如果这确实可能的话,我可以给他什么建议来实现这一点?
答案1
.htaccess 文件在 OS X 的 Apache 配置中默认处于禁用状态。您可以使用服务器管理 GUI 启用它们,方法是选择侧边栏中的 Web 服务 -> 工具栏中的站点 -> 其下的虚拟站点 -> 其下的选项选项卡,然后启用“允许所有覆盖”。或者,您可以编辑站点配置文件(在 /etc/apache2/sites 下),并将行更改AllowOverride None
为AllowOverride All
。
答案2
Mac 通常不显示以句点开头的文件 - 使用TinkerTool让你看到它们。
答案3
支持隐藏文件,它们被视为系统文件并从 GUI 视图中隐藏。Apache 仍会找到 .htaccess 文件。但是,Apache 可能未配置为使用 .htaccess 文件。
一般而言,.htaccess 文件使用与主配置文件相同的语法。您可以在这些文件中放入什么内容由 AllowOverride 指令决定。 http://httpd.apache.org/docs/2.2/howto/htaccess.html