CakePHP 无法正确重定向



我刚刚完成入门教程(http://book.cakephp.org/2.0/en/getting-started.html),并将我的文件放在Apache服务器上,该服务器将Drupal项目作为根URL。

Cakephp的索引页面加载得很好,但是当我点击任何项,将我的根url更改为root/posts/view/2时,它显示Drupal的page not found错误。

我猜可能是重写的问题。我的CakePHP目录有一个.htaccess文件,其中包含:

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

And my apache2 sites-enabled conf:

Alias /test /var/www/cakephp/app/webroot
<Directory /var/www/cakephp/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>
</VirtualHost>

当我从

更改索引动作路由时
Router::connect('/', array('controller' => 'posts', 'action' => 'index'));

:

Router::connect('/foo', array('controller' => 'posts', 'action' => 'index'));

我得到了与上面描述的相同的错误。

有线索吗?

我认为问题来自Rewrite mod.删除3 .htaccess文件允许我访问应用程序的url。

顺便说一下,我在一个新的干净的Apache服务器上尝试了以下。htaccess文件,它工作了:

/var/www/cakephp/. htaccess

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

/var/www/cakephp/app/. htaccess

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

/var/www/cakephp/app/webroot/. htaccess

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

相关内容

  • 没有找到相关文章

最新更新