【问题标题】:Failed to load resource: CodeIgniter (works fine locally)加载资源失败:CodeIgniter(本地工作正常)
【发布时间】:2014-01-20 01:42:26
【问题描述】:

我刚刚将我的一个项目转移到网络上,我有一个名为"circlecrop.php" 的文件,它位于所有 CodeIgniter 文件所在的根目录中。这个 php 脚本基本上只是将任何带有circlecrop.php?path=img 的图像裁剪成一个圆圈,非常简单,并且在本地工作得很好。

这在本地工作得很好。

我收到以下错误:

加载资源失败:服务器响应状态为 403 (Forbidden)

即使我将其设置为 777,我也无法直接访问 circlecrop.php,我在 CodeIgniter 中的路由中没有设置任何内容我不确定是否需要它?

完成 htaccess 文件

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|circlecrop\.php|images|js|profile_pictures|fonts|stylesheets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

我进行了一些搜索,但似乎找不到任何东西,我唯一的想法是我需要一种直接访问circlecrop.php 的方法,它会起作用。非常感谢任何帮助!

编辑:我已经更新了有错误的网址,也许这更有帮助。

【问题讨论】:

  • 也许将 circlecrop.php 变成 CI 助手或库?
  • 我确实尝试过,但它对于它的价值来说太复杂了,特别是因为我让它在本地立即工作。我有没有办法对 CodeIgniter/htaccess 说允许直接访问 circlecrop.php?
  • 您确实意识到没有像 website_adress.com 这样的域?
  • 是的...这只是我的地址的一个例子。
  • 然后告诉我们真正的链接和错误。

标签: php .htaccess codeigniter


【解决方案1】:

如果您的网站位于根目录,则需要包含

RewriteBase /

如果它放在测试文件夹中,例如使用这个。

RewriteBase /test/

【讨论】:

    【解决方案2】:

    只需在每个链接和操作上使用site_url(),而不是base_url()

    【讨论】:

    • 确实,虽然主要问题是我的主机的权限问题。
    【解决方案3】:

    这对我有用:

    我将 .htaccess 内容替换为以下内容:

    重写引擎开启 RewriteCond $1 !^(index.php|application/themes|application/theme_path|images|assets|robots.txt) RewriteRule ^(.*)$ index.php/$1 [L]

    【讨论】:

      【解决方案4】:

      根据您在config.php 中的直播主机更新您的base_url

      $config['base_url'] = 'SET YOUR SITE URL HERE';
      

      config.php 位于 /application/config

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-25
        • 2012-07-24
        • 2018-01-15
        • 2013-02-26
        • 2019-05-28
        • 2016-06-24
        • 2016-07-01
        • 2011-06-21
        相关资源
        最近更新 更多