基于 Windows 的 Apache 服务器 (wamp) 上的 cakephp 和 httpd.conf 问题
Posted
技术标签:
【中文标题】基于 Windows 的 Apache 服务器 (wamp) 上的 cakephp 和 httpd.conf 问题【英文标题】:cakephp & httpd.conf issues on windows based apache server (wamp) 【发布时间】:2011-01-20 18:52:09 【问题描述】:所以,我想知道是否有人可以澄清以下事件并建议我如何解决这个问题。
对不起,代码的颜色很奇怪
让我先解释一下设置。我安装了 wamp 服务器,它物理上位于一个 hd 上,然后我的开发文件位于单独的 hd 上。所以我添加了别名来访问特定的开发文件夹
在 httpd.conf 中我有以下
ServerRoot D:/Program Files/wamp/bin/apache/apache2.2.11
Listen 80
ServerName localhost:80
DocumentRoot D:/Program Files/wamp/www
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory D:/Program Files/wamp/www/>
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
以下是单独的 conf 文件并包含在 httpd.conf 中
Alias /project_birthday_planner "E:/Development/--- Projects-Full/PROJECT - BirthdayPlanner/trunk/"
<Directory E:/Development/--- Projects-Full/PROJECT - BirthdayPlanner/trunk/>
Options Indexes FollowSymlinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
在我的 E:/Development/--- Projects-Full/PROJECT - BirthdayPlanner/trunk/ 我有我的 cakephp 目录和文件
问题来了
我的模式重写已打开,我的以下 cakephp 文件夹的 htaccess 文件如下,
cakephp 的根
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ /app/webroot/ [L]
RewriteRule (.*) /app/webroot/$1 [L]
</IfModule>
*\app*
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ /webroot/ [L]
RewriteRule (.*) /webroot/$1 [L]
</IfModule>
*\app\webroot*
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
当我访问 /project_birthday_planner 时出现以下错误 404 Not Found
**Not Found**
The requested URL /app/webroot/ was not found on this server.
如果我将 DocumentRoot 设置为我的 cakephp 文件夹或将 cakephp 文件夹和文件移动到初始的 DocumentRoot 文件夹,所有这些都会启动并正常工作。
问题是 我该如何解决这个问题,这是使用 apache Alias 固有的问题吗? 还是我错过了一些东西
那么这个设置应该通过 VirtualHost 来解决吗?
提前谢谢你
【问题讨论】:
这是一个基于 Windows 的问题吗? 【参考方案1】:您必须将 Rewritebase 指向正确的路径...参见 here
【讨论】:
以上是关于基于 Windows 的 Apache 服务器 (wamp) 上的 cakephp 和 httpd.conf 问题的主要内容,如果未能解决你的问题,请参考以下文章
Apache服务器——基于不同端口不同域名搭建的虚拟Web主机
Apache搭建Web主机(虚拟目录分别基于IP地址端口主机名)