У меня есть сайт, работающий в 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 отлично работает в этой папке. Но в моей собственной папке "custom", htaccess файл не работает.
Что может быть проблемой? Почему он позволяет htaccess работать в папках по умолчанию и почему он не работает в созданных пользователем папках
Примечание. У меня такая же настройка, что и на моем nginx-сервере. У меня есть другой сайт Im uploading now. Он не работает в папке apache.
Удалите кеш браузера с помощью (CTRL + F5) для WINDOWS или (Command + R) для MACOS и повторите попытку, убедитесь, что у вас есть (точка).htaccess, а не только htaccess в вашей mysite/пользовательской папке.
Попробуйте этот код в вашем /custom/.htaccess
:
RewriteEngine On
Deny from all
http://localhost/custom/
где /custom/
- это настоящий каталог.