专注云服务商活动
网站运营运维笔记

Apache .htaccess 配置文件的几个常用案例

.htaccess 是 Apache 服务器上的一个配置文件,允许用户在不修改主服务器配置的情况下,对目录级别的访问权限、URL 重写、缓存控制等进行精细控制。在这里,我们分享几个 .htaccess 的 ​常见使用案例及方法,涵盖 SEO 优化、安全防护、性能优化等方面。

将动态 URL 转换为静态 URL

RewriteEngine On
RewriteRule ^product/([0-9]+)/?$ product.php?id=$1 [L]

作用​:

将 example.com/product.php?id=123 转换为 example.com/product/123/,提升 SEO 和用户体验。

​参数说明​:

1、^product/([0-9]+)/?$ 匹配 /product/数字/ 格式的 URL。

3、product.php?id=$1 将匹配的数字作为 id 参数传递给 product.php。

3、[L] 表示这是最后一条规则(Last)。

强制 HTTPS(SSL 重定向)​

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

禁止特定IP访问

Order Allow,Deny
Allow from all
Deny from 192.168.1.100
Deny from 203.0.113.45

禁止爬虫访问敏感文件

<Files "config.php">
    Order Allow,Deny
    Deny from all
</Files>

设置浏览器缓存

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

防止目录列表

Options -Indexes

如果目录没有 index.html 或 index.php,禁止显示文件列表。

进制恶意扫描

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

限制文件上传类型

<FilesMatch "\.(php|php5|phtml|pl|py|jsp|asp|sh|cgi)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

自定义错误页面

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

以上几个是我们.htaccess配置文件中常见的用法。

投上你的一票
域名主机商优惠信息推送QQ群: 627775477 获取商家优惠推送,禁言。
赞(0)
未经允许不得转载:老左笔记 » Apache .htaccess 配置文件的几个常用案例