Php VIrtualHost选项返回站点文件夹的索引
我不知道为什么会发生这种情况,因为我对Apache的了解不多。下面是我的虚拟主机的副本 如果这对如何让它工作有任何额外的帮助,我将尝试运行一个CakePHP站点。我知道该站点本身没有问题,因为我在另一个位置管理代码,可以通过Apache在本地运行Php VIrtualHost选项返回站点文件夹的索引,php,apache,cakephp,virtualhost,virtual-hosts,Php,Apache,Cakephp,Virtualhost,Virtual Hosts,我不知道为什么会发生这种情况,因为我对Apache的了解不多。下面是我的虚拟主机的副本 如果这对如何让它工作有任何额外的帮助,我将尝试运行一个CakePHP站点。我知道该站点本身没有问题,因为我在另一个位置管理代码,可以通过Apache在本地运行 <virtualhost *:80> DocumentRoot "C:/sites/sitename" ServerName dev.sitename.com ErrorLog "logs/sitename.com-
<virtualhost *:80>
DocumentRoot "C:/sites/sitename"
ServerName dev.sitename.com
ErrorLog "logs/sitename.com-error.log"
CustomLog "logs/sitename.com-access.log" common
<directory "C:/sites/sitename">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</directory>
</virtualhost>
DocumentRoot“C:/sites/sitename”
ServerName dev.sitename.com
ErrorLog“logs/sitename.com error.log”
CustomLog“logs/sitename.com access.log”通用
选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融
我在Apache2.0和Win7sp1上运行这个 更新 我从来没有找到真正的解决办法使用我的路线。我下载了一份新的WAMP副本,很快就可以启动并运行所有内容,没有问题。为了防止apache显示目录列表,您需要禁用
索引。此外,最好禁用“多视图”,因为这将启用内容协商,这可能会产生不必要的副作用
将选项更改为
Options -Indexes FollowSymLinks
然后,检查.htaccess
文件是否存在于webroot(C:/Sites/Sitename
)中,因为该文件用于启用mod_重写
其他指针/提示
首先,确保DocumentRoot
指向应用程序的正确目录
CakePHP的标准目录结构如下所示
app
/Config
/Controllers
/Views
......
/webroot
lib
/Cale
plugins
DocumentRoot
应该指向“app/webroot”目录,其中包含所有“public”文件
将虚拟主机中的路径/目录更改为该目录,然后重新启动Apache
如果您仍然收到403错误,请将您在浏览器中访问的URL更改为此
http://mywebsite.com/index.php
如果这样做有效,请检查.htaccess
文件是否存在于该目录中,并且您的Apache中是否安装了mod_rewrite
。检查您是否正在运行Ubuntu。根据“thaJetzah”的回答(抱歉,现在还不能评论:)
403 Forbidden比拥有文件夹的索引要好,因为现在您可以看到logs/sitename.com-error.log日志,希望它能告诉您为什么会给出403
只是为了确保:index.php位于文件夹“C:/sites/sitename”中
如果您不能像这样隔离错误,那么当您尝试访问该页面时,最好在这里发布error.log的输出,它将为您提供403。我在Apache 2.0和Win7sp1@theJeztah-索引
将我带回了我的原始版本…403禁止。我还看到您删除了多视图
。由于我不确定这是什么,我是否也应该删除它?它不会修复403禁止。如果不存在“索引”文件,也会显示403错误。我将尝试添加一些额外的hints我已经尝试将DocumentRoot直接指向app/webroot文件夹,但它仍然给了我403错误。我还将/index.php放入url中,并访问了直接文件(就像我使用目录索引时一样)。是的,我实际上意识到我没有打开mod_rewrite,但我已经打开了它。我现在收到以下错误<代码>[Sun Apr 21 15:56:23 2013][error][client 127.0.0.1]规则禁止的目录索引:C:/sites/sitename/app/webroot/
当我转到/index.php时,我得到的是实际文件的文件输出,而不是该文件的服务器解释。windows中是否有特定的文件/文件夹权限我需要授予Apache才能使其工作?另外,您的Apache配置中也没有启用PHP(mod_PHP)。谢谢@M-z,我当时不在城里,在我的“答案”中添加了一些额外的提示[Sun Apr 21 14:58:35 2013][error][client 127.0.0.1]规则禁止的目录索引:C:/sites/sitename/app/webroot/
[Sun Apr 21 14:58:36 2013][error][client 127.0.0.1]规则禁止的目录索引:C:/sites/sitename/。这是一个很好的建议,但根据他使用的路径(C:/sites/sitename),您可以理解他正在Windows上运行。(他还将其添加为问题下方的注释:“我正在Apache2.0和Win7sp1上运行此程序。”