.htaccess不适用于Codeigniter中的自定义文件夹


.htaccess doesn't work on custom folders in codeigniter

我的网站在Codeigniter中运行。我有自己的文件夹名称自定义,我在其中放置了一个简单的.htaccess,它具有

Deny from all

但是当我点击 www.example.com/custom 时,它会在浏览器中显示所有文件。但是,如果我点击 www.example.com/system,它会说"禁止目录访问"。

我的文件夹结构如下。

mysite
mysite/system
mysite/custom
mysite/application

....

我在根文件中有不同的.htaccess,重定向工作正常。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]  
<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE font/woff
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4'.0[678] no-gzip
  BrowserMatch 'bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
  ExpiresActive On
  ExpiresDefault A0
  <FilesMatch "'.(ico|ICO|pdf|PDF|flv|FLV|jpg|JPG|jpeg|JPEG|png|PNG|gif|GIF|js|JS|css|CSS|swf|SWF)('.gz)?$">
  ExpiresDefault "access plus 10 years"
  Header append Cache-Control “publicâ€
  Header unset ETag
  FileETag None
  Header set Expires "Thu, 15 Apr 2025 20:00:00 GMT"
  </FilesMatch>
  <FilesMatch “'.(xml|txt|html)$â€>
  ExpiresDefault A7200
  Header append Cache-Control “proxy-revalidateâ€
  </FilesMatch>
  <FilesMatch “'.(js|css)$â€>
  ExpiresDefault A259200
  Header append Cache-Control “proxy-revalidateâ€
  </FilesMatch>
</IfModule>

我有

Deny from all

在其余子文件夹中。系统和应用程序文件夹随 CI 一起提供。htaccess在此文件夹中工作正常。但是在我自己创建的文件夹"自定义"中,htaccess文件不起作用。

可能有什么问题?为什么它允许 htaccess 在默认文件夹中工作,为什么它在用户创建的文件夹中不起作用

注意:我的nginx服务器中具有相同的设置。我现在有一个不同的网站正在上传。它不适用于 apache 文件夹。

在你的/custom/.htaccess中试试这段代码:

RewriteEngine On
Deny from all

删除浏览器缓存 对于 WINDOWS 使用 (CTRL + F5) 或 (Command + R) 对于 MACOS,然后重试,确保您在 mysite/custom 文件夹中有 (dot) .htaccess,而不仅仅是 htaccess。