如何使用 apache vhost 重定向到另一个 url?
Posted
技术标签:
【中文标题】如何使用 apache vhost 重定向到另一个 url?【英文标题】:How to redirect to another url using apache vhost? 【发布时间】:2020-11-01 19:18:07 【问题描述】:我已经在我的机器上安装了 wordpress。我有两个 apache 目录来服务网站。
第一个是/var/www/html/wordpressone
,第二个是/var/www/html/wordpresstwo
。现在我可以使用以下网址访问这些网站
http://192.168.0.1/wordpressone -> /var/www/html/wordpressone
http://192.168.0.1/wordpresstwo -> /var/www/html/wordpresstwo
现在我想定义一个自定义网址,例如。
http://192.168.0.1/admin -> /var/www/html/wordpressone
http://192.168.0.1/user -> /var/www/html/wordpresstwo
但我无法使用 Vhost 来做到这一点。我尝试了以下方法,但没有成功。
我在/etc/apache2/sites-available
下创建了一个文件home.conf
并启用了它。
<VirtualHost *:80>
ServerName http://192.168.0.1/user
DocumentRoot /var/www/html/wordpressone
<Directory />
请告诉我我需要执行哪些步骤来实现这一目标?
【问题讨论】:
不能重命名文件夹吗?如果你必须通过 Apache 来做,你可以使用aliases。但这将是一个非常简单的问题的非常复杂的解决方案(只需重命名文件夹即可解决)。 我认为你错过了 VH 的重点!使用ServerName wpone.test
,您将能够通过一个简单、相当正常的 URL 访问/var/www/html/wordpressone
。请注意,您必须在 HOSTS 文件中添加一行
您还应该安装 INTO 虚拟主机,以便 WP 奇怪地希望将安装的 url 保存到其数据库中。或者有关于移动站点时如何更改数据库的WP教程
“不,我不想重命名文件夹。这不是解决方案” - 根据您在问题中提出的问题,这绝对是一个解决方案。如果您向我们提供更多信息来说明您为什么说它不是,我们可能会更容易找到适合您的解决方案。现在,它只是没有多大意义。
但是您尝试做的事情与域无关,而且您可能永远不会“真正”做这些事情。查看@RiggsFolly 在他的第一条评论中提出的建议可能会更有用。将几个假主机名添加到您的 HOSTS 文件中,并使用它们设置两个正确的虚拟主机。喜欢admin.test
和user.test
。
【参考方案1】:
全部取决于文档根目录。它会将您导航到给定的文件夹 Just Make two host one with
http://192.168.0.1/admin
里面有配置
<VirtualHost *:80>
ServerName http://192.168.0.1/admin
DocumentRoot /var/www/html/wordpressone
<Directory />
还有一个
http://192.168.0.1/user
里面有配置
<VirtualHost *:80>
ServerName http://192.168.0.1/user
DocumentRoot /var/www/html/wordpresstwo
<Directory />
【讨论】:
以上是关于如何使用 apache vhost 重定向到另一个 url?的主要内容,如果未能解决你的问题,请参考以下文章