将 www 强制到 .htaccess 中的子域会导致 500 内部服务器错误

Forcing www to a sub domain in .htaccess cause 500 internal server error

假设我的域是

我已经创建了一个子域

我想始终使用 www 前缀打开我的两个站点(主域 + 子域)

为此,我将以下代码放入 .htaccess

RewriteCond %{HTTP_HOST} !^www\.
#RewriteCond %{HTTP_HOST} !^dev\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/ [R=301,L]

主站点工作正常,它的重定向 domain.comhttps://www.example.com

但是 dev.example.com 重定向到 https://www.dev.example.com/development 并导致 500 内部服务器错误。 它应该被重定向到 https://www.dev.example.com 而不是 https://www.dev.example.com/development

我哪里错了。

我在 .htaccess 中尝试了不同的代码,但没有任何效果。

将我的评论转化为答案可能会帮助面临类似问题的人。

development/.htaccess 中移动上述规则,以便每个目录指令 RewriteRule 设置 </code> 相对于 <code>development 目录而不是 public_html 目录的值。

确保在清除浏览器缓存后进行测试。