【问题标题】:301 on ServerAlias goes to ServerName domainServerAlias 上的 301 转到 ServerName 域
【发布时间】:2015-11-03 10:08:00
【问题描述】:

我有以下虚拟主机配置:

<VirtualHost *:80>
  ServerName www.something.com
  ServerAlias something1.com
  Include conf/vhost/www.something.com-rewrites.conf
</VirtualHost>

在 www.something.com-rewrites.conf 文件下:

RewriteRule ^/apps/(.*)$ / [R=301,L,E=cache_redirect:1]

如果有对 something1.com/apps/ 的请求,我看到重定向正在发生,但 URL 正在更改为 www.something.com

我不明白这种奇怪的行为,他们还有什么其他方法可以防止这种行为吗?

【问题讨论】:

  • 这种行为没有什么奇怪的,它完全按照您的指示去做...您实际上试图实现什么目标?
  • 我正在尝试在指向同一个 docroot 的两个域上进行一些重定向,因此将其中一个用作服务器别名,并且仍然希望为通过 ServerAlias 发出的请求保留 301 重定向的 URL .
  • 请添加一个示例,说明重定向前后 URL 的外观。目前很难理解你在问什么。还可以尝试将http://%{HTTP_HOST} 添加到重写目标
  • 正如问题中给出的那样,如果我输入“something1.com/apps/”,我应该被重定向到“something1.com/”,但我被重定向到“www.something.com” /'。我试过你以前的评论,但它不起作用。

标签: apache redirect vhosts


【解决方案1】:

听起来您的 UseCanonicalName 有一个非默认值,或者您的客户端是 HTTP/1.0 并且没有发送 Host: 标头。

【讨论】:

    【解决方案2】:

    如果您的网站正在运行像 wordpress 这样的 CMS,它会将安装它的域用作主域,并且无论您的 ServerAlias 和 ServerMain 设置如何,都会重定向到该主域。

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      • 2013-10-03
      • 2021-07-26
      • 2013-10-01
      • 1970-01-01
      • 2013-08-28
      相关资源
      最近更新 更多