1

使用 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,我不需要应用重写规则。任何想法或修复将是最有帮助的。

4

1 回答 1

0

我也在解决这个问题,为了修复 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>

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

于 2011-05-27T03:56:05.530 回答