问题标签 [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.
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
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 的目的是首先避免需要所有这些虚拟主机。
apache - 使用 Apache 2.4 的大规模虚拟主机
我想使用 a 中设置的VirtualDocumentRoot
值RewriteRule
。
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 中使用的内容:
有解决办法吗?
.htaccess - apache 别名和相对 url
我为客户制作了一个新网站。在我们把它放到网上之前,他想看看它。现在,我有了服务器,所以我想把它放在一个子目录中:http://localhost/project2
我将此添加到虚拟主机:
这工作正常,当我去http://localhost/project2
该网站已加载。只有 css, javascript, ... 没有加载,因为它们仍然指向主 url
负载http://localhost/js/jquery.lightbox.min.js
另外,当我发布表单时,我的操作是 /contact,它指的是http://localhost/contact
有没有简单的方法来解决这个问题?
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。
我什至不知道如何调试或跟踪它。
apache - Apache ServerName * 通配符不适用于 vhost_dbd_module
我正在尝试使用 vhost_dbd_module 将我的虚拟主机迁移到 mysql 数据库。
在我在网上找到的各种示例中,他们指示我在 VirtualHost 中使用“ServerName *”作为通配符。
当我以这种方式配置我的 VirtualHost 时,服务器只是默认回到默认的 DocumentRoot。它不查询mysql数据库。
但是,当我将其更改为此(将 ServerName 指定为 domain.tld)时,它可以正常工作(查询数据库以获取 domain.tld 并返回正确的 documentroot 以获取 domain.tld)
任何想法什么是错误配置?
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/。
apache - 是否有与 Apache 的目录插值等效的 NGINX
使用 Apache 的 mod_vhost_alias,您可以使用目录插值根据目录结构为站点提供服务。见这里http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html#interpol
NGINX 有可能吗?如果是这样怎么办?
php - PHP-FPM + mod_vhost_alias
如何使两者一起工作 vhost_alias 在没有 proxypassmatch 的情况下可以正常工作,而 fpm 在独占 vhost 中可以正常工作,是否可以使用 vhost_alias 的 %?
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 条目,所有这些都无效。
什么可能导致这种行为?还有什么我应该检查的吗?搜索了这么多材料以找到解决方案,但看不到任何错误或缺失。任何帮助将不胜感激!