问题标签 [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 投票
2 回答
5914 浏览

apache - 使用 mod_vhost_alias 的 Apache 虚拟主机

我正在尝试设置我的 apache 模块以动态地将所有请求定向到特定文件夹,然后将名称与同名文件夹匹配。

为此,我在 sites-available 文件夹中的000-default.conf文件中设置了以下内容。

UseCanonicalName Off
VirtualDocumentRoot /var/www/example/%2

这很好用。

然后我想设置几个不同的域不指向示例文件夹,而是指向其他地方,所以我在 VirtualDocumentRoot 行之前添加了几个:

<VirtualHost *:80>
ServerName sub1.example.com
VirtualDocumentRoot /var/www/sub1.example.com
</VirtualHost>

但是,现在动态指向不再起作用,所有 URL 都被重定向到第一个 -> VirtualDocumentRoot 位置。

有人可以告诉我我做错了什么吗?

apache2/sites-available/000-default.conf 中的完整代码示例:

<VirtualHost *:80>
ServerName sub1.example.com
VirtualDocumentRoot /var/www/sub1.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName sub2.example.com
VirtualDocumentRoot /var/www/sub2.example.com
</VirtualHost>

<VirtualHost *:80>
ServerName sub3.example.com
VirtualDocumentRoot /var/www/sub3.example.com
</VirtualHost>

UseCanonicalName Off
VirtualDocumentRoot /var/www/example/%2

0 投票
1 回答
317 浏览

apache - 对 mod_vhost_alias 使用贯穿重写

我在我的测试 VPS 上运行了几十个站点,目前使用 mod_vhost_alias 来避免每次我抛出一个新站点时都需要一个新的 VirtualHost。我当前的配置如下所示:

在我的 /var/www 目录中,每个站点都有自己的目录。例如,我的个人页面的路径是 /var/www/personalsite.com/public_html/index.php。这非常适合对http://personalsite.com的请求。

但是,当请求进入 http://www.personalsite.com 时,这不起作用。对于我的其他一些站点,我遇到了相反的问题——目录可能是 /var/www/www.sitename.com/public_html,因此对http://www.sitename.com的请求很好。但是,对http://sitename.com的请求不起作用。

有没有办法设置我的 Apache 配置,以便在收到请求时执行以下操作?这样做有什么性能影响吗?

在伪代码中:

我目前正在使用大约 20 个虚拟主机来执行此操作,但是当我必须为每个站点添加一个新主机时,这似乎很荒谬。使用 mod_vhost_alias 的目的是首先避免需要所有这些虚拟主机。

0 投票
1 回答
360 浏览

apache - 使用 Apache 2.4 的大规模虚拟主机

我想使用 a 中设置的VirtualDocumentRootRewriteRule

Apache文档说:

要确定的另一件事是文档根目录(使用 DocumentRoot 配置并通过 DOCUMENT_ROOT 环境变量可用于 CGI 脚本)。在正常配置中,核心模块在将 URI 映射到文件名时使用它,但是当服务器配置为进行动态虚拟主机时,该作业必须由另一个模块(mod_vhost_alias 或 mod_rewrite)接管,该模块具有不同的映射的方式。这些模块都不负责设置 DOCUMENT_ROOT 环境变量,因此如果任何 CGI 或 SSI 文档使用它,它们将获得误导性值。

参考文档,看来我将无法%{DOCUMENT_ROOT}RewriteRule. 但在寻找替代解决方案后,我发现这张(标题:DOCUMENT_ROOT 环境变量设置错误与 VirtualDocumentRoot)说它已“在 2.4.1 中修复”。

我正在使用最新(稳定)版本的 Apache:

...但它似乎对我不起作用。测试时,%{DOCUMENT_ROOT}默认值由 httpd.conf 中的 DocumentRoot 设置。我希望%{DOCUMENT_ROOT}(或我可以使用的任何其他变量)由VirtualDocumentRoot.

这是我想在 httpd-vhosts.conf 中使用的内容:

有解决办法吗?

0 投票
0 回答
234 浏览

.htaccess - apache 别名和相对 url

我为客户制作了一个新网站。在我们把它放到网上之前,他想看看它。现在,我有了服​​务器,所以我想把它放在一个子目录中:http://localhost/project2

我将此添加到虚拟主机:

这工作正常,当我去http://localhost/project2

该网站已加载。只有 css, javascript, ... 没有加载,因为它们仍然指向主 url

负载http://localhost/js/jquery.lightbox.min.js

另外,当我发布表单时,我的操作是 /contact,它指的是http://localhost/contact

有没有简单的方法来解决这个问题?

0 投票
1 回答
199 浏览

apache2 - apache2:userdir.domain.fr 中的 userdir 使用 VirtualDocumentRoot

我使用 apache2,我想拥有类似 username.mydomain.fr 的东西

www.mydomain.fr --> /var/www/web-en-royans 可以正常工作 username.mydomain.fr --> /home/username/www 不能正常工作

另外, www.mydomain.fr/~username --> /home/username/www 工作正常,但我不在乎。

我激活了 user_dir 和 vhost_alias。

我想使用 VirtualDocumentRoot 而不是 rewrite_url 此外,username.mydomain.fr 转到 www.mydomain.fr,whatever.mydomain.fr 转到 www.mydomain.fr。

我什至不知道如何调试或跟踪它。

0 投票
1 回答
3747 浏览

apache - Apache ServerName * 通配符不适用于 vhost_dbd_module

我正在尝试使用 vhost_dbd_module 将我的虚拟主机迁移到 mysql 数据库。

在我在网上找到的各种示例中,他们指示我在 VirtualHost 中使用“ServerName *”作为通配符。

当我以这种方式配置我的 VirtualHost 时,服务器只是默认回到默认的 DocumentRoot。它不查询mysql数据库。

但是,当我将其更改为此(将 ServerName 指定为 domain.tld)时,它可以正常工作(查询数据库以获取 domain.tld 并返回正确的 documentroot 以获取 domain.tld)

任何想法什么是错误配置?

0 投票
1 回答
652 浏览

apache2 - mod_vhost_alias 和 VirtualDocumentRoot:如何添加倒数第二部分和最后一部分?

如何获取由域名的最后两个部分组成的目录名。还是使用一个点?

例如,我有一个域any.ms,我希望动态域foo.any.ms和域bar.any.ms也指向/var/www/dev/any.ms/public目录。或域any.lorem.ipsum.ms指向目录/var/www/dev/ipsum.ms/public

我的ms.conf现在(不工作,apache 无法启动):

我使用文档http://httpd.apache.org/docs/2.4/mod/mod_vhost_alias.html但我不能插入点写作/%-2.%-1/ , /%-2%.%-1/ , /%-2\.%-1/

0 投票
2 回答
768 浏览

apache - 是否有与 Apache 的目录插值等效的 NGINX

使用 Apache 的 mod_vhost_alias,您可以使用目录插值根据目录结构为站点提供服务。见这里http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html#interpol

NGINX 有可能吗?如果是这样怎么办?

0 投票
1 回答
305 浏览

php - PHP-FPM + mod_vhost_alias

如何使两者一起工作 vhost_alias 在没有 proxypassmatch 的情况下可以正常工作,而 fpm 在独占 vhost 中可以正常工作,是否可以使用 vhost_alias 的 %?

0 投票
2 回答
733 浏览

apache - 非万维网。域未重定向到 www。领域

简而言之

工作正常: www.exampledomain.co.uk{/with-any-url} 给出
404 错误: exampledomain.co.uk{/with-any-url}

详细地

我在 linux/apache2 上运行的站点存在问题,其中“www.” 网址工作正常,但使用“www.” 删除每个 url 都会返回 404。该域在 dnsstuff.com 检查中未显示任何错误,其中 www 和常规域指向相同的 IP 地址。

当我使用 cmd ping 域和 www 时。域,都解析到相同的 IP 并响应。

我在 Web 根目录中的 .htaccess 文件中实现了此代码,该文件用于添加“www”。对非 www 请求:

但是,这也不起作用。确切的重写规则经过测试并在另一个站点上运行以强制执行“www.”。要加前缀。

这是正在使用的 vhosts conf 文件:

服务器名称和别名的定义与此处显示的顺序相反(Apache 在更改之间重新启动),并且稍后添加了“永久重定向”的第二个 vhosts 条目,所有这些都无效。

什么可能导致这种行为?还有什么我应该检查的吗?搜索了这么多材料以找到解决方案,但看不到任何错误或缺失。任何帮助将不胜感激!