210 lines
5.2 KiB
Markdown
210 lines
5.2 KiB
Markdown
# HTACCESS Manager
|
||
|
||
一个专业的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(含OpenLiteSpeed和LiteSpeed Enterprise)服务器
|
||
- ✅ 多站点网络
|
||
|
||
### 插件兼容
|
||
- ✅ 与大多数缓存插件兼容
|
||
- ✅ 与安全插件兼容
|
||
- ✅ 不影响其他.htaccess规则生成插件
|
||
|
||
## 故障排除
|
||
|
||
### 常见问题
|
||
|
||
**Q: 插件激活后网站出现重定向循环?**
|
||
A: 检查服务器是否已配置SSL证书,或尝试清除浏览器缓存。
|
||
|
||
**Q: .htaccess文件无法写入?**
|
||
A: 确保.htaccess文件权限设置为644,或使用手动复制功能。
|
||
|
||
**Q: 规则没有生效?**
|
||
A: 确认服务器支持mod_rewrite模块,检查Apache配置。如果是OpenLiteSpeed服务器,可能需要重启OpenLiteSpeed服务。
|
||
|
||
**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来帮助改进这个插件。
|
||
|
||
---
|
||
|
||
**注意**:(1)在使用本插件前,请务必备份您的.htaccess文件。
|
||
|
||
(2)本插件不适用于Nginx服务器。 |