【问题标题】:cakephp & httpd.conf issues on windows based apache server (wamp)基于 Windows 的 Apache 服务器 (wamp) 上的 cakephp 和 httpd.conf 问题
【发布时间】: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 的问题吗?

标签: mod-rewrite cakephp wamp apache


【解决方案1】:

您必须将 Rewritebase 指向正确的路径...参见 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 2011-07-31
    相关资源
    最近更新 更多