![DNS 和 mod_rewrite 不协作](https://linux22.com/image/538345/DNS%20%E5%92%8C%20mod_rewrite%20%E4%B8%8D%E5%8D%8F%E4%BD%9C.png)
我已在 CentOS 服务器上的 DNS 中添加了 CNAME 记录,以将 subdomain.mydomain.com 重定向到另一台服务器。
我还使用 mod_rewrite 将 mydomain.com 重写为 www.mydomain.com:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
它被放置在根公共 html 目录中的 .htaccess 中
现在的问题是,每当我查找 subdomain.mydomain.com 时,它都会将我重定向到 www.mydomain.com
我尝试添加另一个RewriteCond:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^subdomain\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
但它没有帮助......
有人有什么想法吗?
答案1
也许在网络应用程序中正在发生重定向。
- 尝试从 subdomain.mydomain.com 下载静态文件(css、js、jpg 等)
- 使用 RewriteLog 和 RewriteLogLevel 指令进行调试
答案2
matthew 是对的,如果 dns 别名配置正确,请求就永远不应该到达 mod_rewrite。问题出在键入时意外犯的简单 DNS 记录语法错误。现在已处理完毕,运行正常 :)