在XAMPP和MAC OS X上的htaccess“找不到对象”CakePhp

时间:2011-05-05 16:25:55

标签: php apache .htaccess cakephp

可能你在Google上看到了很多这样的问题。但是,我查看了我能找到的大部分文档,但仍无法解决当前的问题。

访问http://mydomain.com/phpserver/pages/websocket

时,我仍然收到此错误消息
Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
Thu May 5 12:09:38 2011
Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1

但是,它适用于这样的网址:http://mydomain.com/phpserver/index.php/pages/websocket

但是,当然,CSS和Javascript没有正确加载。以下是我一直在努力做的事情:

我确实修改了XAMPP / xamppfiles / etc文件夹中的httpd.conf。我确保服务器允许mod_rewrite。

我还将我的工作目录添加到此文件中:

Alias /phpserver /Users/username/WebSites/phpserver/webroot/
<Directory "/Users/username/WebSites/phpserver">
    Options Indexes FollowSymLinks ExecCGI Includes  
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

我还修改了DocumentRoot配置,以便:

<Directory />
    Options Indexes FollowSymLinks ExecCGI Includes
    AllowOverride All
    #XAMPP
    Order allow,deny
    Allow from all
</Directory>

这些是apache的配置

对于CakePHP,我也使用控制台“烘焙”整个项目./cake bake appname

我检查了所有.htaccess,他们跟随网上推荐的人。这是位于应用程序根目录的那个

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>

这是位于webroot文件夹

内的那个
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

请帮忙!我花了很多时间在这上面:(

提前致谢


编辑: 我通过将此添加到webroot文件夹中的.htaccess来修复此问题: RewriteBase / phpserver /

事实证明是这样的:

<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /phpserver/
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    </IfModule>

0 个答案:

没有答案