我使用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文件。有任何想法吗?
答案 0 :(得分:0)
PHP_SELF是index.php ...所以看起来你正在获得一个包含js文件的CI错误页面。
默认情况下,codeigniter在application
目录中带有Deny all
的.htaccess文件;因此,除非您对其进行了修改,否则这些文件夹中的任何内容都无法公开访问(包括其中的图像文件夹)。
另外,请确保图像存在。