.htaccess 生成

生成常见 .htaccess 规则。

什么是.htaccess 生成?

.htaccess 是 Apache 服务器(以及部分兼容配置的环境)支持的一种目录级配置文件,放在网站某个目录下就能对该目录及其子目录生效,常用来做 URL 重写(伪静态)、301/302 重定向、访问权限控制、自定义错误页面、开启 Gzip 压缩等,不需要修改主配置文件或重启服务器即可生效。 这个工具针对几类最常见的需求(如整站跳转 HTTPS、旧地址重定向到新地址、隐藏 `.php` 后缀、设置自定义 404 页面等)提供表单化配置,自动生成对应的 .htaccess 规则片段,避免手写正则和 Apache 指令语法。

为什么使用.htaccess 生成?

手写 .htaccess 最大的门槛在于 mod_rewrite 的正则语法和指令顺序:规则写错顺序可能导致重定向死循环,正则少写一个转义符可能匹配到意料之外的路径,出错时往往表现为整站 500 错误或者跳转异常,而错误信息通常不直观,排查成本较高。 对于常见需求(HTTP 强制跳 HTTPS、旧域名跳转新域名、去掉 index.php、限制目录访问等),直接套用生成器给出的标准写法比自己现写正则更可靠,也更符合社区验证过的最佳实践写法,减少因语法错误导致整站不可用的风险。

使用示例

强制 HTTPS 跳转

选择“强制 HTTPS”选项后生成: `RewriteEngine On` `RewriteCond %{HTTPS} off` `RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]` 表示所有通过 HTTP 访问的请求都会以 301 永久重定向的方式跳转到对应的 HTTPS 地址。

旧地址跳转新地址

填写旧路径 `/old-page.html` 跳转到新路径 `/new-page`,生成 `Redirect 301 /old-page.html /new-page`,访问旧地址的用户和搜索引擎都会被自动带到新页面,同时把权重信号传递给新地址。

自定义 404 错误页

填写自定义 404 页面路径 `/404.html`,生成 `ErrorDocument 404 /404.html`,当访问不存在的地址时,服务器会展示这个自定义页面而不是默认的服务器错误页。

常见问题

防盗链和 www 跳转规则需要填域名吗?
需要,请在「域名」输入框中填写你的裸域名(不带 www 和协议),如 example.com,规则会据此生成对应的 Referer 或 Host 判断条件。
.htaccess 不生效怎么办?
请确认 Apache 已加载 mod_rewrite(强制 HTTPS/跳转/防盗链需要)与 mod_expires(缓存规则需要)模块,并且该目录的 AllowOverride 未设为 None。
数据会上传吗?
不会。规则片段全部在浏览器本地拼接生成,不发起任何网络请求。
.htaccess 对 Nginx 服务器有效吗?
无效。.htaccess 是 Apache 专有的目录级配置机制,Nginx 并不读取这个文件,如果你的网站运行在 Nginx 上,需要把对应的重写、重定向规则改写成 Nginx 的 server 配置语法(可以参考本站的 Nginx 配置生成工具)。
为什么加了规则后网站显示 500 错误?
常见原因是服务器没有开启 `mod_rewrite` 模块、规则语法有误、或者 .htaccess 所在目录的 Apache 配置里 `AllowOverride` 被设置为 `None`(禁止 .htaccess 生效),需要联系空间服务商或检查服务器配置。
多条重定向规则会互相冲突吗?
有可能,规则的先后顺序会影响匹配结果,如果多条规则的匹配范围有重叠,建议把范围更精确、更具体的规则放在前面,避免笼统的规则提前匹配导致后面精确的规则永远不生效。
.htaccess 会不会拖慢网站速度?
会有一定影响。因为 Apache 默认会在每次请求时重新查找并解析当前目录及所有父目录下的 .htaccess 文件,规则越多、目录层级越深,开销越明显,如果有服务器管理权限,把规则直接写进主配置文件并关闭 .htaccess 覆盖通常性能更好。

相关工具

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。