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 问题的主要内容,如果未能解决你的问题,请参考以下文章