将子域名指向 wordpress 路径

将子域名指向 wordpress 路径

我有一个托管在 1.2.3.4 上的 Wordpress 实例,其 DNS 设置如下:

A foo.com 1.2.3.4
A category.foo.com 1.2.3.4

可以从两个主机名访问该站点,但是,我希望请求 来category.foo.com呈现 处的内容foo.com/category

在工作场景中,以下请求将起作用:

category.foo.com -> foo.com/category
category.foo.com/abc -> foo.com/category/abc

我目前正在尝试使用 mod_rewrite 来解决这个问题:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^category.foo.com
RewriteRule ^(.*) /category$ [L]

但是,这会导致无限循环,因为每个请求都会被重写。我也尝试过使用该[NS]标志,认为RewriteRule这会停止后续请求的重定向,但事实并非如此。

我是否遗漏了某些内容mod_rewrite,或者我应该采用其他方法吗?

请注意,我不想category.foo.com301 重定向到,foo.com因此到达的访问者category.foo.com应该在他们的浏览器中看到它。

答案1

为每个域配置一个虚拟主机。您可以在主配置文件中配置所有虚拟主机,也可以将每个虚拟主机放在 sites-enabled 目录内的单独文件中。可以找到示例这里。你的可能看起来像这样。

# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot "/var/www/wordpress"
    ServerName www.example.com

    # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/www/wordpress/category"
    ServerName category.example.org

    # Other directives here
</VirtualHost>

相关内容