手动阀

Good Luck To You!

Apache服务器中.htaccess文件的实用配置示例集锦

.htaccess 文件是 Apache HTTP Server 中的一个配置文件,用于对目录级别的访问控制、URL 重写、错误处理等进行配置,下面列举一些常见的实用 .htaccess 配置示例:

Apache服务器中.htaccess文件的实用配置示例集锦

禁止目录列表

防止用户看到目录下的文件列表:

Options -Indexes

禁用访问日志

禁用某个特定目录的访问日志记录:

SetEnvIf REQUEST_URI "^/nolog" nolog
CustomLog /var/www/logs/access.log combined env=!nolog

限制 IP 地址访问

只允许特定 IP 地址访问:

Order Deny,Allow
Deny from all
Allow from 192.168.1.100

或者只拒绝特定 IP 地址:

Order Allow,Deny
Allow from all
Deny from 192.168.1.101

密码保护目录

使用基本认证来保护目录:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

5. URL 重写(mod_rewrite)

Apache服务器中.htaccess文件的实用配置示例集锦

http://example.com/old-page 重定向到http://example.com/new-page

RewriteEngine On
RewriteRule ^old-page$ new-page [R=301,L]

http://example.com/old-page 内部重写到http://example.com/new-page(不改变 URL):

RewriteEngine On
RewriteRule ^old-page$ /new-page [L]

自定义错误页面

设置自定义的 404 错误页面:

ErrorDocument 404 /custom404.html

强制 HTTPS

将所有 HTTP 请求重定向到 HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

限制文件类型上传

限制上传文件类型为图片和 PDF:

<FilesMatch "\.(jpg|jpeg|png|gif|pdf)$">
    Order allow,deny
    Allow from all
</FilesMatch>

设置缓存控制头

设置响应头以控制浏览器缓存:

Apache服务器中.htaccess文件的实用配置示例集锦

<FilesMatch "\.(jpg|jpeg|png|gif|css|js)$">
    Header set Cache-Control "max-age=31536000, public"
</FilesMatch>

禁止特定文件类型的执行权限

禁止 PHP 文件在特定目录下执行:

<FilesMatch "\.php$">
    Deny from all
</FilesMatch>

启用 GZIP 压缩

启用 GZIP 压缩以加快传输速度:

<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 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
</IfModule>

这些只是 .htaccess 文件中的一些常见配置示例,根据你的具体需求,你可以组合或修改这些配置以达到最佳效果,在使用 .htaccess 文件时,确保你的服务器已启用了AllowOverride 选项,以便能够应用这些配置。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.