问题标签 [mod-vhost-alias]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
238 浏览

mod-rewrite - Apache2 混合 mod_vhosts_alias 和 mod_rewrite

Apache2 文档建议将 mod_rewrite 作为最后的手段,用于指定将给定主机请求发送到哪个目录。他们说使用 mod_vhosts_alias。我设置了它并且它的工作没有问题。但是,我有一个需要一些 mod_rewriting 的特定案例。

我有一个像 mydomain.com 这样的域和大量像 sub.mydomain.com 和 sub2.mydomain.com 这样的子名称。这些子域都映射到相应的目录。但子域也将具有映射到各自目录的完整顶级域。例如:

sub.mydomain.com 将映射到与 awesomeproducts.com 相同的目录 sub2.mydomain.com 将映射到与 widgets.com 相同的目录

确保这两种访问每个站点的方法都能正常工作而不会发生冲突的最佳方法是什么?

由于文档只说 mod_rewrite 不像 mod_vhosts_alias 那样“优雅”,我不知道我是否应该完全单独使用 mod_rewrite 来适应我的情况,或者我是否应该尝试以某种方式混合这两种方法。

混合它们是可行的方式还是会产生问题?

0 投票
2 回答
2012 浏览

apache - 如何使用 VirtualDocumentRoot 在每个请求的基础上覆盖 DocumentRoot

因此,人们抱怨在使用 VirtualDocumentRoot 和 mod_vhost_alias 运行 Apache 时,使用 DOCUMENT_ROOT 的 PHP 脚本是如何中断的,因为 DOCUMENT_ROOT 没有正确设置。Apache 显然在不久前修复了这个问题,简要说明如下:http: //svn.apache.org/viewvc ?view=revision&revision=1132494

遗憾的是,没有足够的细节解释如何根据每个请求实际覆盖 DocumentRoot。我猜它必须以某种方式使用 mod_rewrite 完成,但我不确定。有谁知道如何做到这一点?

0 投票
1 回答
2329 浏览

php - wamp 本地子域和 htaccess 重写规则

我最近用 php mvc 魔法修复了我的网站,为此我在 .htaccess 中使用了这些设置:

它就像一个魅力。我遇到的唯一问题是,当我相对引用 css 或图像之类的文件时,由于 url localhost/projectname/controllername/action/id 中的破折号,浏览器假定我们向下移动了文件夹结构

因此,在 localhost/controllername/action/id/css/styles.css 请求了 css/styles.css,其绝对路径解决了该问题,但在有本地​​测试服务器和远程实时和开发服务器后无法正常工作没有“项目名称”- 文件夹

我决定配置我的本地 wamp 服务器,以便我可以将我的不同项目作为子域访问到我的本地主机,如“ http://projectname.localhost ”。

我激活了相关的 apache 模块,编辑了我的 hosts 文件并将我的 httpd-vhosts.conf 更改为

现在,当我调用 projectname.localhost.com/controllername/action/id 时,它告诉我在此服务器上找不到请求的 URL /subdomains/projectname/index.php。虽然 projectname.localhost.com/index.php 仍然为我提供了正确的文件。

我听说 $_SERVER['DOCUMENT_ROOT']; 可能有问题。这没有正确设置,但知道这还没有帮助我解决这个问题。

有人可以指出我正确的方向或建议在这些情况下进行测试的另一种环境配置吗?

0 投票
2 回答
612 浏览

apache - 如何在没有 mod_rewrite 的情况下使用 mod_vhost_alias 获得默认主机工作?

我最近向我的 apache 添加了一个虚拟主机配置,它使用 mod_vhost_alias 将请求路由到类似域的目录。如果目录存在,一切正常。现在我的想法是,当我调用一个路由到我的 apache 的域,但不存在相应的虚拟文档根时,该请求将由默认主机处理。但事实并非如此。有没有不使用 mod_rewrite 的解决方案?

这是我的动态主机配置:

这是我的默认主机:

0 投票
1 回答
105 浏览

apache - 错误为属于同一域的文件夹设置 VirtualHost

Noob Here.. 我的 Ubuntu 机器上有以下文件夹结构

现在我想将我的 url xyz.com 重定向到 folder1 和 xyz.com/blog 到 folder2。我正在使用以下 Vhost 配置文件

对于 xyz.com 到文件夹 1

对于 xyz.com/blog 到 folder2

当我在 url 中输入 xyz.com 时,它为我提供来自 folder1 的索引文件(如预期和正确)但是当我输入 xyz.com/blog 它显示 404:未找到错误

我已经花了几个小时,但仍然无法找出问题:(任何帮助将不胜感激

0 投票
2 回答
873 浏览

apache - 用于单个通配符域 *.dev 的 Apache 多个 VirtualDocumentRoot

我正在使用 Virtualhosts 和一个本地包罗万象的域 TLD,我需要 3 个用例同时工作,但到目前为止,我一次只能让两个用例工作。

我需要三个不同的测试域才能访问它们各自的文档根目录。

  1. 案例 1: test1.dev --> /path/to/www/SomeFolderName (使用它自己的唯一文件夹名称和虚拟主机文件的覆盖)

  2. 案例 2: *.dev --> /path/to/www/%0 (包括 .dev 的完整 url,所以 test2.dev 指向 /path/to/www/test2.dev )

  3. 案例 3: *.dev --> /path/to/www/%1 (不包括.dev 的完整 url,因此 test3.dev 指向 /path/to/www/test3 )

因此,对于像 test2.dev 或 test3.dev 这样的任何域,我需要两种通配符情况, VirtualDocumentRoot "/path/www/%0"如果它存在或VirtualDocumentRoot "/share/www/%1"存在则使用它。

现在,案例 2 或案例 3 的工作取决于首先加载的内容,但不能同时加载。我怎样才能让 1 捕获所有域只选择现有的文档根目录?

0 投票
1 回答
85 浏览

apache - 允许子域,但不匹配 www

我目前正在尝试配置 Apache vhost 配置,并希望能够将 mod_vhost_alias 用于所有内容。

我不想为每个网站设置配置,而是让它动态化。

到目前为止,我有:

哪个效果很好,但我希望能够允许子域,所以我尝试了以下方法:

但我不希望 DocumentRoot 成为 /home/example.com/www/www

有没有办法做到这一点?如果没有,我最好的选择是对子域使用 mod_rewrite 吗?

0 投票
2 回答
1135 浏览

apache - 海量虚拟主机和重写规则导致递归内部重定向

我正在使用vhost_aliasfor 进行大规模虚拟主机,并有几个站点mod_rewrite用于管理它们的前端控制器。

我不认为这是一个特定的 Symfony 问题,但我正在使用 Symfony。

现在,大多数匹配任何重写规则的请求都会进入无限重定向循环,从而导致 HTTP 错误 500。

我检查了日志文件,这就是我发现的:

如您所见,在内部重定向行之后,绝对路径成为被匹配 URI 的一部分,这个 URI 当然不匹配任何文件并作为全新的 URI 再次处理,这导致新的绝对路径附加在URI。这个过程会不断重复,直到达到配置的限制。

我在没有虚拟主机配置(工作正常)的情况下尝试了这个,并注意到在内部重定向之前有一个新行:

在此重定向之后,实际文件匹配并且没有问题。

虚拟配置不应该document_root像常规配置一样被剥离吗?

我不明白为什么虚拟文档根被认为是内部重定向中 URI 的一部分。这似乎是完全错误的。

我错过了一些配置选项吗?

这是我的.htaccess文件:

这是我的 apache 配置文件:

在声明下方VirtualDocumentRoot有一些注释掉的重写规则。

这是用重写规则替换的尝试VirtualDocumentRoot,但它有一个类似的问题:被条带化的 document_root 是/home/user/www,将主机名作为 URL 的一部分,所以我最终遇到了同样的递归问题。

所以我想知道是否有人曾经mod_vhost_aliasmod_rewrite. 我真的试图到处搜索(甚至是谷歌!)但找不到太多关于此的信息。

0 投票
1 回答
544 浏览

apache2 - Apache vhost_alias

我有一个关于 vhost_alias 的问题

我得到了它的工作,它做了以下工作:

vhost.subdomain.domain.com -> 发送到 /var/www/vhost

使用 virtualdocumentroot 和 %1

但我不喜欢我也可以像这样访问相同的内容

vhost.vhost.subdomain.domain.com

因为我有 *.subdomain.domain.com 的 ServerAlias

如何强制只有 vhost.subdomain.domain.com 有效?

目的是拥有许多这样的虚拟主机,例如 vhost1、vhost2 等。

谢谢,大卫

0 投票
1 回答
341 浏览

apache - Apache 动态子文件夹

我需要设置 Apache,以便它处理 2 个不同的磁盘位置,并根据 URL 上的子文件夹动态映射不同的站点:

这将分别映射到:

我找到了将 mod_vhost_alias、mod_alias 和 mod_rewrite 用于不同事物的示例,但无法实现我所需要的。

谢谢。