我的网站在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。