Mod_rewrite仍然不会忽略现有的文件/文件夹

时间:2015-05-09 04:45:13

标签: php linux apache .htaccess mod-rewrite

我将此用于其他网站并且没有任何问题。但是只是加载到一个新的站点,自定义构建并且它无法工作,每当我进入服务器或CSS / JS文件中实际存在的目录时,它就会出现403 Forbidden。

更新:我发现除了两个js文档和一个css文档之外的所有内容都工作正常,这3个仍然是403 Forbidden错误。有关修复的任何建议吗? .htaccess文件似乎工作正常,我认为这可能是一个权限问题,但我已经检查过,一切都检查得很好....

更新2:我发现了问题,它与FilesMatch代码块有关,如果你有任何项目,例如:(ini | log | foo),即使它没有明确定义一个特定的单词,如果该单词的那一部分在文件名中并且匹配则会给出403 Forbidden错误,例如,如果你有一个扩展名的文件,例如,上面我们有ini,log和foo,.foodItem ,它会检测到foo并完全阻止文件并给出403,所以请记住......问题现在已经解决了,在解决方案中注意解决方案对于遇到此问题的任何其他人。

以下是HTACCESS文件,如果有人可以帮忙解决这个问题,我会非常高兴的!我还需要它来阻止热链接并自动缓存文件。

AddType text/x-component .htc

Options -Indexes
Options +FollowSymLinks
Options -MultiViews

DirectoryIndex index.php
DirectoryIndex index.html

<FilesMatch ".(clb|ini|log|data)">
Order deny,allow
Deny from all
</FilesMatch>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php [L]
</IfModule>

0 个答案:

没有答案