3

如何从 cakephp url 中删除 index.php?为了访问我的表单文件夹,我必须提供 url:http://localhost/cake_1_2/index.php/forms

我如何删除那个 index.php?

我从 core.php 中提到的文件夹中删除了 .htaccess 并取消了 App.baseUrl 行的注释。然而,如果没有 url 中的 index.php,我将无法查看该页面。

4

6 回答 6

2

如果您使用带有 mod_rewrite 的 CakePHP(以获得漂亮的 URL),您可以在其中创建新文件夹WEBROOT并访问文件就好了。

例子:

Site/webroot/forms/form.php = http://www.sitename.com/forms/form.php

CakePHP 的 mod_rewrite 设置为检查现有文件,WEBROOT不是将它们传递给 index.php。

如果您需要访问 webroot 之外的文件夹,您可以考虑使用符号链接。

于 2009-07-15T14:34:25.310 回答
1

查看CakePHP 安装指南部分的 mod_rewrite。一旦在 Apache 中启用,漂亮的 URL 就可以工作了。如果您不使用 Apache,那么您就会被难看的 URL 所困扰。

于 2009-07-15T14:37:53.540 回答
1

我有同样的问题,并且在 URL 中有 index.php。您在 httpd.conf 中编辑了错误的区域。此外,确保您的 .htaccess 文件存在于:/.htaccess、/app/.htaccess 和 /app/webroot/.htaccess

您的 httpd.conf 应如下所示:

# Leave this area alone, CakePHP docs are wrong
<Directory /> 
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
</Directory>

# Match this area
<Directory "/SomePath/app/webroot"> 
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All   # Turn AllowOverride All on here
  Order allow,deny
  Allow from all
</Directory>

完成此操作后,我可以轻松创建路由和访问页面,例如:http://localhost/about/

享受!

于 2011-11-15T06:25:41.607 回答
0

你也可以在这里查看这个 mod 重写教程。它具有一般信息,在许多情况下对 url 清理很有用。也有例子。

于 2009-07-15T15:51:11.160 回答
0

只需按照以下步骤验证它是否存在

  1. 检查您的 root、app、webroot 是否包含实际的 .htaccess 文件。

  2. apachee服务器具有以下配置:

    <Directory /> 
     Options FollowSymLinks   
     AllowOverride All#   
     Order deny,allow#   
     Deny from all
    </Directory>
    
  3. 此行也未注释:

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so
    

然后重新启动apache以查看更改

于 2011-04-16T16:46:09.167 回答
0

那么,应该没问题吧?你已经有 mod_rewrite 了吗?

如果 mod_rewrite 正确加载,.htaccess 文件就位并且 index.php 仍然出现在链接中,那么很可能是 core.php 框架配置文件有问题。

问题原因

就我而言,这是 App.baseUrl 配置选项的问题:

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

解决问题

以下是我通过注释掉 core.php 中的以下行来解决该问题(以及其他少数重定向问题)的方法:

// Configure::write('App.baseUrl', env('SCRIPT_NAME'));

或蛋糕 3+ 在 config/app.php

//'baseUrl' => env('SCRIPT_NAME') 
于 2016-08-28T12:35:53.567 回答