【问题标题】:PHP extensions not working from web directory while .html extension isPHP 扩展在 .html 扩展时无法从 Web 目录运行
【发布时间】:2013-09-20 19:16:54
【问题描述】:

我有一个 Codeigniter 安装,其根目录为“沙盒”。在沙箱中,我有文档'poster.html'。如果我将此文档的扩展名更改为 .php,则会收到 CI 404 错误。如果我将其保留为 .html,它可以工作!

编辑: 我刚刚确认 .php 扩展名不适用于任何排除的目录,例如: css/ 或 scripts/ 。 根目录下的 .htaccess 文件如下所示:

RewriteEngine on
RewriteCond $1 !^(index\.php|sandbox|css|scripts|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

当前根目录结构:

application/
system/
css/
sandbox/
scripts/
.htaccess
index.php

【问题讨论】:

  • 产生 $1 的规则在哪里?
  • 检查php.ini 中的短/长标签。尝试将 PHP 文件中的标签从 更改为
  • 是的,404 是 CI 生成的。
  • 请发布您的目录结构,CI 设置是否在根目录下? / 然后从根目录你有一个名为 /sandbox 的文件夹?如果您可以访问 css/scripts 文件,则应该访问沙箱中的文件
  • 您好将发布目录结构。

标签: php apache .htaccess codeigniter


【解决方案1】:

我相信您的问题是您在某处有拼写错误,或者您有 ROUTE 冲突。 我刚刚使用新的 2.1.4 CI 安装重新创建了它,并创建了一个包含 php 文件的沙盒文件夹。

我可以确认它 100% 正常工作。仔细检查你的拼写。您不应该根据您的.htaccess 获得/sandbox/ 文件夹的CI 404 页面

作为另一种调试方法,打开您的 ci 日志记录并检查 /application/logs 以了解引发 404 的原因的详细信息。

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2014-01-15
    • 2018-07-30
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多