无需登录 数据私有 本地保存

.htaccess生成器 - Apache服务器配置规则生成

13
0
0
0

.htaccess 生成器

可视化配置 Apache 服务器规则,一键生成 .htaccess 文件

默认首页文件
多个文件用空格分隔,优先级从左到右
字符编码
目录浏览
禁止访问的文件
RewriteEngine
常用预设规则
自定义重写规则
格式:源URL模式 → 目标URL [标志]
快速重定向预设
自定义重定向
IP 黑名单
这些IP将被拒绝访问
IP 白名单
仅允许这些IP访问(优先级高于黑名单)
防盗链(Hotlink保护)
服务器信息隐藏
Gzip 压缩
浏览器缓存(Expires)
CORS 跨域设置
安全响应头
自定义错误页面
生成的 .htaccess 0 行
# 请在上方配置选项,代码将实时生成...

常见问题与知识点

.htaccess 文件是什么?有什么作用?

.htaccess(Hypertext Access)是 Apache Web 服务器的分布式配置文件。它允许在目录级别对服务器行为进行配置,无需修改主配置文件。常见用途包括:URL 重写、301/302 重定向、访问控制、缓存设置、密码保护、防盗链、自定义错误页面等。每个目录可以拥有独立的 .htaccess 文件,配置会递归应用到子目录。

.htaccess 文件应该放在哪里?

通常将 .htaccess 文件放置在网站的根目录(如 public_html、www、htdocs 等)。该文件中的配置会应用到当前目录及其所有子目录。你也可以在子目录中放置额外的 .htaccess 文件来覆盖或补充根目录的配置。注意:文件名以点开头,在某些操作系统中是隐藏文件,需要使用 ls -a 或显示隐藏文件功能才能看到。

301 和 302 重定向有什么区别?

301(永久重定向):告诉搜索引擎和浏览器该页面已永久移动到新地址。搜索引擎会将权重和排名传递到新 URL。适用于网站改版、域名更换等场景。
302(临时重定向):表示临时跳转,搜索引擎会继续索引原 URL。适用于临时维护、A/B 测试等。对于 SEO,301 是首选,因为 302 可能导致搜索引擎困惑。

如何强制网站使用 HTTPS?

在 .htaccess 中使用 RewriteEngine 配合条件判断来实现:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
此规则检测到非 HTTPS 请求时自动 301 跳转到 HTTPS 版本。使用本工具可在"重定向"标签中一键勾选此功能。

如何防止图片被盗链(Hotlink)?

盗链保护通过检查 HTTP_REFERER 来实现。当其他网站直接引用你的图片时,请求的 Referer 头会显示来源域名。可以通过 RewriteCond 判断 Referer 是否为空或不是自己的域名,然后拒绝请求或显示替代图片。本工具在"安全防护"标签中提供了可视化配置。

.htaccess 文件不生效怎么办?

常见排查步骤:
1. 确认 Apache 已启用 mod_rewrite 模块(sudo a2enmod rewrite
2. 检查主配置中 AllowOverride 是否设置为 All(而非 None)
3. 确认文件名正确(.htaccess,不是 htaccess.txt)
4. 检查文件权限(通常 644 即可)
5. 查看 Apache 错误日志定位具体问题
6. 确保规则语法正确,无多余空格或换行问题

设置浏览器缓存有什么好处?如何配置?

合理设置缓存可以显著提升网站加载速度,减少服务器负载和带宽消耗。通过 Expires 和 Cache-Control 头告诉浏览器哪些资源可以缓存以及缓存多久。对于不常变化的资源(如图片、CSS、JS),建议设置较长缓存时间(1个月到1年)。在 .htaccess 中使用 mod_expires 模块配置,本工具"缓存压缩"标签可一键生成。

什么是 RewriteCond 和 RewriteRule?

RewriteCond:定义重写规则的条件(如检查请求是否指向真实文件、检查域名等)。多个 RewriteCond 可以组合使用,默认是 AND 关系。
RewriteRule:定义匹配模式和执行动作。格式为 RewriteRule 匹配模式 目标 [标志]。标志如 [L] 表示最后一条规则、[R=301] 表示 301 重定向、[NC] 表示不区分大小写。两者配合可实现复杂的 URL 处理逻辑。