奇怪的服务器响应

时间:2012-03-09 07:47:24

标签: php apache .htaccess codeigniter

我使用codeigniter使用htaccess构建了一个sitw。但有些要求真的很奇怪。在前面包含一个特定文件(通过codeigniter)。如果缓存被删除,这种情况经常发生。它发生在不同的文件中,如果文件在文件系统上或请求通过codeigniter,则无关紧要。我想有一些关于htacccess的东西,但我不确定。我会在底部包含来自fiddler的htaccess和截图:

<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文件。有任何想法吗? Response shown on fiddler

1 个答案:

答案 0 :(得分:0)

PHP_SELF是index.php ...所以看起来你正在获得一个包含js文件的CI错误页面。

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

另外,请确保图像存在。