OS X 10.6 服务器 .htaccess、WebDAV 和 CakePHP 问题

Posted

技术标签:

【中文标题】OS X 10.6 服务器 .htaccess、WebDAV 和 CakePHP 问题【英文标题】:OS X 10.6 Server .htaccess, WebDAV, and CakePHP trouble 【发布时间】:2011-02-25 03:31:27 【问题描述】:

使用 Cakephp,我确实需要 .htaccess 文件,因此我启用了 mod_rewrite 并很快发现 OS X 的 Apache 配置阻止了通过 WebDAV 上传和读取 htaccess 文件。我在 httpd.confg 中修复了这个问题,但撞到了墙上。

Cake 的结构在三个主要位置有这个 .htaccess 文件(还有其他的,但现在最重要的是), app, webroot

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

只要将这些文件复制到 OSX 服务器上的位置,WebDAV 就会停止工作。我无法再对目录进行写入或读取。我对 mod_rewrite 了解不多,但我猜如果请求是 WebDAV,我不需要应用重写规则。任何想法或修复都将是最有帮助的。

【问题讨论】:

如果您在使用内置 Apache 时遇到问题,是否可以使用 Home Brew 或 Mac Ports 之类的工具构建 Apache、PHP 和 mysql? 2tbsp.com/content/install_and_configure_mysql_5_macports 【参考方案1】:

我也在解决这个问题,为了修复 3 次重写,我将把我的虚拟主机指向 webroot 目录。

这是我放在 httpd.conf 中的代码

NameVirtualHost localhost:80
<VirtualHost localhost:80>
    DocumentRoot "/Users/yilliot/Sites"
</VirtualHost>
<VirtualHost cake.localhost:80>
    DocumentRoot "/Users/yilliot/Sites/demo/cakephp-1.3/app/webroot"
    <Directory /Users/yilliot/Sites/demo/cakephp-1.3>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

我相信这是一个好的开始。

【讨论】:

以上是关于OS X 10.6 服务器 .htaccess、WebDAV 和 CakePHP 问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OS X 10.6 中发出硬件哔声

如何在 10.6 上为 OS X 10.5 构建 Qt

Qt 5.4 - Mac OS X 10.6 支持

MAC OS X 10.6 中的通知中心备用

从 Mac OS X 10.6 64 位 macbook 运行时出现 CORBA 异常

Xcode 5 Cocoa 应用程序无法在 OS X 10.6 上加载 Nib