为什么URL重写没有处理非WWW到www?

时间:2017-11-18 20:40:46

标签: apache .htaccess amazon-web-services amazon-route53

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

我在AWS的00_application.conf的{​​{1}}中进行网址重定向

/etc/httpd/conf.d/elasticbeanstalk

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

以下示例也不起作用。

<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>

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

请帮忙。

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

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

我认为这可能是一个额外的信息。

1 个答案:

答案 0 :(得分:0)

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

当我访问www.example.com时,它会点击我的网络服务器 - &gt; URL重新路由逻辑。 但是当我在浏览器中执行example.com时,它根本就没有打到我的服务器。

我得到了 https://qph.ec.quoracdn.net/main-qimg-99c326b3c6af3d7101645af4a12516b9

我们需要有两个A记录

www.example.com以及 example.com

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

祝你好运。