【问题标题】:Strange server response奇怪的服务器响应
【发布时间】:2012-03-09 07:47:24
【问题描述】:

我有一个使用 htaccess 使用 codeigniter 构建的 satw。但是对某些要求真的很奇怪。一开始就包含一个特定的文件(通过codeigniter)。如果缓存被关闭,这种情况经常发生。它发生在不同的文件中,并且文件是否在文件系统上或请求通过codeigniter都无关紧要。我猜 htacccess 有问题,但我不确定。我将在底部包含 htaccess 和 fiddler 的屏幕截图:

<IfModule mod_rewrite.c>
    RewriteEngine on

    #Options -Indexes

    #Force non-www
    RewriteCond      %{HTTP_HOST} ^www\.(.*)
    RewriteRule      ^(.*)$   http://%1/$1   [R=301,L]

    #If image, javascript or css file does not exists, then try application folder
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(images|js|css)/(.*)$ ./application/$1/$2 [L]  

    #If javascript or css file exists, send it to minifier
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*)(\.(js|css))$ ./standalone/min/?f=$1$2 [L]

    #If isn't file or folder then send it to codeigniter
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ ./index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 ./index.php
</IfModule>

如您所见,原始请求是发往 top-bar-large.png 并从 coudeigniter 中回显 $_SERVER,显示“上层请求”发往 parim.js。毕竟 parim.js 应该是 javascript 文件。有任何想法吗?

【问题讨论】:

  • 您的parim.js 是否可能包含 AJAX 代码并且查询来自该代码?

标签: php apache .htaccess codeigniter


【解决方案1】:

PHP_SELF 是 index.php...,因此您似乎收到了包含 js 文件的 CI 错误页面。

默认情况下,codeigniter 在application 目录下带有一个.htaccess 文件,带有Deny all;因此,除非您进行了修改,否则这些文件夹中的任何内容都将无法公开访问(包括您的图片文件夹)。

另外,请确保图像存在。

【讨论】:

  • 图像确实存在,当我在新选项卡上打开图像并刷新几次时,一切正常。 Bur当它在页面中时(css背景图像),它随机隐藏。在每次刷新页面时,页面都会隐藏不同的图像。
猜你喜欢
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 2012-02-09
相关资源
最近更新 更多