apache - 如果 url 中没有子域,则重定向到 www
问题描述
我有
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
如果 www 不在 URL 中,则重定向到 www.mysite.com。问题在于它还会将 www 添加到子域,例如
test.mysite.com 将更改为 www.test.mysite.com
如果没有设置子域,我如何调整该规则以添加 www?
解决方案
如果没有设置子域,我如何调整该规则以添加 www?
设置条件以使其仅适用于您的主域:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
确保在新浏览器中对此进行测试以避免旧缓存。
正则表达式^[^.]+\.[^.]+$
将匹配具有单个 DOT 的任何域,因此它将跳过子域。
推荐阅读
- c++ - 为什么在 C++ 中尝试使用 fstream 复制文件时遇到数据丢失?
- javascript - 在这里我的“笔记”按钮周围出现奇怪的缓冲区,它是唯一一个打开隐藏的缓冲区,这能负责吗?
- yocto - 如何使用 QEMU 模拟 rpi 图像
- reactjs - 反应选择下拉菜单不可见
- git - 将本地 git 重新连接到 GitHub 远程,而不会丢失新的本地分支和提交
- python - 如何解决本地交互错误#codejam
- javascript - 如何在一个 if 语句中为变量赋予一个对象,并为另一个 if 语句保留该对象
- reactjs - 如何在 react css 中设置 background-img?
- php - 如何使用 PHP 中的复选框从选择选项中插入选定的值?
- width - 让标题仅与居中表格上的表格一样宽