.htaccess - 通过 htaccess 进行域重定向
问题描述
我刚刚向我的共享主机添加了一个插件域,cPanel 还在我的主域下创建了一个子域,通向我刚刚添加的插件域。
我不希望用户能够通过 cPanel 创建的主域 (addon_name.primarydomain.com) 的子域以新的插件名称访问我的辅助网站。这就是为什么我决定创建一个简单的 .htaccess 文件,它会自动将任何尝试访问 addon_name.primarydomain.com 的用户重定向到我的 primarydomain.com
#Redirecting if the URL is encrypted
RewriteCond %{HTTPS_HOST} ^addon_name\.primarydomain\.com$ [NC]
RewriteRule ^$ https://primarydomain.com/? [L,R=301]
# Redirecting if the URL is NOT encrypted.
RewriteCond %{HTTP_HOST} ^addon_name\.primarydomain\.com$ [NC]
RewriteRule ^$ http://primarydomain.com/? [L,R=301]
但是,在运行此代码时,我发现了以下问题,并且由于我对 .htaccess 不是很有经验,如果有人能解释我做错了什么,我将不胜感激。
1) 当我尝试输入 addon_name.primarydomain.com 时,它会将我重定向到 primarydomain.com = WORKS。
2) 当我尝试输入http://addon_name.primarydomain.com时,它会将我重定向到 primarydomain.com = WORKS。
3) 当我尝试输入 www.addon_name.primarydomain.com 时,它不想将我重定向到 primarydomain.com = ERROR。
4) 当我尝试输入http://www.addon_name.primarydomain.com时,它不想将我重定向到 primarydomain.com = ERROR。
5) 当我尝试输入 addon_name.primarydomain.com/something/index.html 时,它会将我重定向到 primarydomain.com/something/index.html 而不仅仅是 primarydomain.com = ERROR。
解决方案
看起来这个稍微修改过的版本就是你想要表达的:
RewriteEngine on
RewriteCond %{HTTPS_HOST} (^|www\.)addon_name\.primarydomain\.com$ [NC]
RewriteRule ^ https://primarydomain.com/ [QSD,R=301]
推荐阅读
- javascript - 角嵌套类
- javascript - 将选择值放入输入字段,然后使用 JS 或 jQuery 提交
- javascript - 如何在 React Native 应用程序中摆脱无样式内容的闪烁
- node.js - 如何通过从 Reactjs 向数据库发出 get 请求来增加数据库属性
- lirc - IR 的 xmp 协议是否需要特殊的硬件支持?
- android-studio - 有没有办法在 Android Studio 的整个项目中自动修复所有可能的 lint 警告?
- python - plotly 2 或更多基于列的子图
- reactjs - 无法渲染从 React App 内部的 API 获取的图像
- swift - 通用快速对象序列化?
- c# - C#:Net Core 3.1 包含 Linq 导致客户端异常错误