【问题标题】:redirection of multiple url多个url的重定向
【发布时间】:2013-11-03 22:01:09
【问题描述】:

如何在同一个 conf 文件中正确引导多个 url。让我知道我是否正确放置我的 conf 文件

   <VirtualHost *:80>

服务器名称 domain1.com

ServerAlias domain2.com

... real vhost settings ...
   </VirtualHost>

如果用户找不到该 url 怎么办,那么他应该将我定向到默认页面。如果有人能告诉我,只有在找不到该 url 的情况下,我如何才能将重定向重定向到默认页面。

【问题讨论】:

  • 你看过examples,它解释了所有这些
  • 谢谢,但这意味着无论首先配置哪个虚拟主机,它都会将其称为主服务器,但这里的情况是,如果我尝试浏览 www.abc.com 并搜索 .conf文件并且它找不到它然后它会询问 apache 然后 apache 的 httpd.conf 文件将打开默认页面(如果我是正确的)。所以我的问题是如何告诉 apache 如果该 url 不存在请加载 www。 default.com
  • 没错,它会选择第一个虚拟主机。创建一个名称总是首先选择的 vhost 文件,因此我将我的 vhost 文件命名为 aaaa,但 000-default 很常见。

标签: html url virtual host


【解决方案1】:

您可以像这样设置 apache vhost:

<VirtualHost *:80>
  ServerName domain1.com
  ServerAlias *.domain1.com

  ServerAlias domain2.com

  ErrorDocument 404 /errors/error404.php

  #... real vhost settings ...
 </VirtualHost>

任何未找到的 URL 将被重定向到 /errors/error404.php 或您在此处提供的任何 URL。 参考http://en.wikipedia.org/wiki/HTTP_404

对于ServerAlias domain2.com,你必须先在你的name server中为这个domain设置一个bind primary zone,这个cname会指向你服务器的IP,否则,这行将不起作用。

【讨论】:

  • 谢谢,堆,但现在情况发生了一些变化,因为我正在处理多个 vhosts 和 .conf 文件,所以我的服务器将采用一个默认的,它列在我的 vhosts 目录的顶部并浏览到该网页它指向它,但我现在想要的是创建一个 conf 文件,上面写着 AAA.conf 或 default.conf 之类的内容,并确保它是默认文件,并且它只在屏幕上打印输出“对不起,你正在尝试的网页搜索当前不可用或不存在”这样我就不必创建另一个只有一个页面的项目。
  • 你想添加 RewriteCond %{HTTP_HOST} domain2.com RewriteRule ^.*$ /errors/error404.php [L] (两行)?在您的 error404.php 中,您说“对不起网页...
  • 实际上我想要一个单独的 conf 文件,我可以将其作为默认 conf 文件放在我的 vhosts 目录中,这样如果用户尝试搜索 url 并且它不存在,那么它将指向默认页面在该 conf 文件的帮助下。
  • 或者我可以配置 httpd.conf 文件来处理重定向并告诉 apache 如果没有可用的网页将其定向到默认网页?
猜你喜欢
  • 2015-11-28
  • 2013-03-15
  • 2014-10-26
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
  • 2021-04-02
相关资源
最近更新 更多