为什么 URL 重写不处理非 W​​WW 到 www?

Why doesn't the URL rewrite doesn't handle the non-WWW to www?

我正在使用 Apache 服务器进行 URL 重定向。

我在 AWS/etc/httpd/conf.d/elasticbeanstalk 的 Apache 00_application.conf 中进行 url 重定向

<VirtualHost *:80>
  <Proxy *>
    Order Allow,Deny
    Allow from all
  </Proxy>
  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse / http://localhost:8080/
  ProxyPreserveHost on

  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^\/qqd [NC,OR]
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^ http://www.example.com/qqd/ [L,R=301]

  ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>

上面代码中的第二个 RewriteCond 不起作用。 但首先 RewriteCond 确实有效。

下面的例子也不行。

<VirtualHost *:80>
    ServerName example.com
    Redirect / http://www.example.com
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    . . .
    . . .
</VirtualHost>

我希望将非 WWW URL 重定向到 www.example。com/qqd

请帮忙。

PS:当我在没有 www 的情况下执行 mywebsite.com 时,这就是我看到的 https://i.stack.imgur.com/wWIqD.png

我想知道,当我在没有 www 的情况下执行 mywebsite.com 时,该请求是否正在访问我的服务器(或 Amazon Route 53 托管区域 --> 网络服务器 --> 应用服务器)。

我认为这可能是附加信息。

好的,我找到了答案。 是的,我的猜测是正确的。

当我执行 www.example.com 时,它会影响我的网络服务器 --> URL 重新路由逻辑。 但是当我在浏览器中执行 example.com 时,它根本不会访问我的服务器。

我正在 https://qph.ec.quoracdn.net/main-qimg-99c326b3c6af3d7101645af4a12516b9

我们都需要有一个 A 记录

www.example.com 以及 example.com

并确保两者都指向具有 URL 重定向逻辑的网络服务器。

祝你好运。