【问题标题】:How can I change my .htaccess file in cakephp如何在 cakephp 中更改我的 .htaccess 文件
【发布时间】:2015-04-10 03:04:35
【问题描述】:

我有这样的网址:

localhost/admin/app/webroot

为此,default.ctp 中的 css 采用 /app/webroot/css/style.css 路径。 所以我的 CSS 没有加载。

我应该为此更改 .htaccess 文件吗? 项目中有3个.htaccess文件。

1) 位于 admin/.htaccess

重写引擎开启

重写规则 ^$ app/webroot/ [L]

RewriteRule (.*) app/webroot/$1 [L]

2) 位于 admin/app/.htaccess

RewriteEngine on

RewriteRule    ^$    webroot/    [L]

RewriteRule    (.*) webroot/$1    [L]

3) 位于 admin/app/webroot/.htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [L]

请帮助解决我的问题。

提前致谢。

【问题讨论】:

  • 谁能帮帮我?
  • 你在 default.ctp 上写的内容
  • echo $this->Html->css('style');

标签: .htaccess cakephp


【解决方案1】:

处理此问题的最简单方法是将应用程序设置为“生产模式”,如 here 所述

本质上,这意味着您将文档根目录指向 Cake App 的 /app/webroot 目录,这使一切变得非常简单,并且意味着您可以使用默认的 .htaccess 文件来处理重写。

如果您尝试将其放入子目录中,您可能需要设置 Rewrite 的基础:

RewriteBase /admin

这也假设您在服务器上启用了 mod_rewrite!

【讨论】:

  • 我必须将这段代码放在哪个 .htaccess 文件中?是的 mod_rewrite 已启用
  • RewriteEngine On RewriteBase /admin RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
  • 我敢肯定,如果您使用 app/webroot 将其设置为 apache 的文档根目录,则它只是需要的 app/webroot/.htaccess。这是我用过的唯一一个。
  • 是的,我已经把它放在了相同的位置,但它对我不起作用。 :(
  • 仅供参考:我在 ubuntu 中使用 Xampp 服务器
【解决方案2】:

我找到了答案:

如果我们可以添加

配置::write('App.base', '/admin/');

在 bootstrap.php 文件中然后它对我有用。

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2012-08-07
    • 1970-01-01
    • 2011-05-21
    • 2014-07-24
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多