first commit

This commit is contained in:
LinRuiqi
2025-11-19 16:38:24 +08:00
parent 24d18849da
commit 9e7d1a591b
2 changed files with 656 additions and 2 deletions

209
README.md
View File

@@ -1,3 +1,208 @@
# htaccess-manager
# HTACCESS Manager
一个专业的WordPress插件用于智能管理.htaccess文件中的重定向规则。支持HTTPS强制重定向、WWW与根域名跳转配置以及二级域名站点支持。
一个专业的WordPress插件用于智能管理.htaccess文件中的重定向规则。支持HTTPS强制重定向、WWW与根域名跳转配置以及二级域名站点支持。
## 功能特点
### 🔒 强制HTTPS重定向
- 自动将所有HTTP请求重定向到HTTPS
- 确保网站安全连接
### 🌐 灵活的域名跳转配置
- **WWW跳转到根域名**`www.example.com``example.com`
- **根域名跳转到WWW**`example.com``www.example.com`
- **自由选择跳转方向**
### 🏷️ 二级域名支持
- 专门针对二级域名站点的优化配置
- 启用后只强制HTTPS不处理WWW跳转
### ⚡ 智能规则管理
- 自动生成优化的.htaccess规则
- 不干扰其他插件的现有规则
- 安全的规则添加和移除机制
### 🛡️ 安全可靠
- Must-use插件支持确保高可靠性
- 精确的规则匹配,避免误删其他配置
- 完整的卸载清理机制
## 安装方法
### 方法一:手动安装
1. 下载插件ZIP文件
2. 在WordPress后台进入【插件】→【安装插件】→【上传插件】
3. 选择ZIP文件并上传
4. 激活插件
### 方法二FTP安装
1. 解压插件文件到 `wp-content/plugins/htaccess-manager/`
2. 在WordPress后台【插件】页面激活"HTACCESS Manager"
## 使用方法
### 基本配置
1. 进入【设置】→【HTACCESS 管理】
2. 根据您的需求配置选项:
- **是否为二级域名**:如果使用类似 `sub.domain.com` 的地址请启用
- **重定向类型**选择WWW与根域名的跳转方向
- **自动更新**:启用后设置更改时自动更新.htaccess文件
### 配置示例
#### 场景1主域名站点WWW跳转到根域名
```
www.example.com → example.com
http → https
```
**配置:**
- 是否为二级域名:❌ 否
- 重定向类型:✅ WWW跳转到根域名
#### 场景2主域名站点根域名跳转到WWW
```
example.com → www.example.com
http → https
```
**配置:**
- 是否为二级域名:❌ 否
- 重定向类型:✅ 根域名跳转到WWW
#### 场景3二级域名站点
```
sub.example.com → https://sub.example.com
不处理WWW跳转
```
**配置:**
- 是否为二级域名:✅ 是
- 重定向类型:自动禁用
### 手动操作
- **复制规则**:手动复制生成的规则到.htaccess文件
- **手动更新**:强制更新.htaccess文件
- **移除规则**:安全移除所有本插件添加的规则
## 生成的规则示例
### WWW跳转到根域名 + HTTPS
```apache
# BEGIN HTACCESS Manager
RewriteEngine On
# 同时处理 HTTPS 和 WWW 重定向
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
# END HTACCESS Manager
```
### 二级域名 + 只强制HTTPS
```apache
# BEGIN HTACCESS Manager
RewriteEngine On
# 强制HTTPS重定向二级域名
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# END HTACCESS Manager
```
## 兼容性
### 测试环境
- ✅ WordPress 5.0+
- ✅ PHP 7.4+
- ✅ Apache 2.4+
- ✅ LiteSpeed服务器
- ✅ 多站点网络
### 插件兼容
- ✅ 与大多数缓存插件兼容
- ✅ 与安全插件兼容
- ✅ 不影响其他.htaccess规则生成插件
## 故障排除
### 常见问题
**Q: 插件激活后网站出现重定向循环?**
A: 检查服务器是否已配置SSL证书或尝试清除浏览器缓存。
**Q: .htaccess文件无法写入**
A: 确保.htaccess文件权限设置为644或使用手动复制功能。
**Q: 规则没有生效?**
A: 确认服务器支持mod_rewrite模块检查Apache配置。
**Q: 如何恢复默认设置?**
A: 停用并重新激活插件,或使用"移除规则"功能。
### 日志检查
如果遇到问题,请检查:
1. WordPress调试日志
2. 服务器错误日志
3. .htaccess语法验证
## 开发者信息
### 文件结构
```
htaccess-manager/
├── htaccess-manager.php # 主插件文件
├── readme.md # 说明文档
└── (自动生成)
└── mu-plugins/
└── htaccess-helper.php # Must-use插件
```
### 钩子函数
插件提供以下WordPress钩子
- `htaccess_manager_before_update` - 规则更新前
- `htaccess_manager_after_update` - 规则更新后
### 自定义开发
如需扩展功能,可参考插件中的规则生成逻辑:
```php
$manager = new HTACCESS_Manager();
$rules = $manager->generate_htaccess_rules();
```
## 版本历史
### v1.0.2 (当前版本)
- 增强规则移除安全性
- 改进空行处理
- 优化MU插件逻辑
### v1.0.1
- 修复规则冲突问题
- 添加内容预览功能
- 改进用户界面
### v1.0.0
- 初始发布
- 基础重定向功能
- Must-use插件支持
## 技术支持
如果您遇到问题或需要帮助,请:
1. 查看本README文档
2. 检查WordPress错误日志
3. 联系服务器管理员确认Apache配置
## 许可证
GPL v2或更高版本
## 贡献
欢迎提交Issue和Pull Request来帮助改进这个插件。
---
**注意**:在使用本插件前,请务必备份您的.htaccess文件和数据库。