如何将 example.com/advice 设为 vhost

如何将 example.com/advice 设为 vhost

所以我不知道这种设置是怎么称呼的,所以我很难用谷歌搜索并看看我是否朝着正确的方向前进。

我目前拥有的

我有一个带有虚拟主机的 CMS www.example.com,它的管理界面位于子域下admin.www.example.com

我需要的

现在,除了 CMS 之外,我还需要建立一个论坛平台。我希望它是这样设置的

  • www.example.com-> 内容管理系统
  • www.example.com/advice-> 论坛

使用 Apache 可以实现这样的设置吗?

细节

我在 centos7 上运行 apache 2.4.6。

我当前的虚拟主机如下

<VirtualHost *:80>
   ServerName example.com
   DocumentRoot /www/example.com
   SetEnv ADMIN_DOMAIM 0
   <Directory "/www/example.com>
              AllowOverride All
              Options FollowSymLinks
   </Directory>
   php_value mbstring.func_overload 0
   DirectoryIndex index.php
</VirtualHost>

<VirtualHost *:80>
   ServerName admin.example.com
   DocumentRoot /www/example.com
   SetEnv ADMIN_DOMAIN 1
   <Directory /www/example.com>
              AllowOverride All
              Options FollowSymLinks
   </Directory>
   php_value mbstring.func_overload 0
   DirectoryIndex index.php
</VirtualHost>

<VirtualHost *:443>
        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
        SSLCertificateFile /etc/pki/tls/certs/localhost.crt
        SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
        SetEnv ADMIN_DOMAIN 0
        ServerName example.com
        DocumentRoot /www/example.com
        <Directory /www/example.com>
              AllowOverride All
              Options FollowSymLinks
        </Directory>
        php_value mbstring.func_overload 0
        DirectoryIndex index.php
</VirtualHost>

<VirtualHost *:443>
        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
        SSLCertificateFile /etc/pki/tls/certs/localhost.crt
        SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
        SetEnv ADMIN_DOMAIN 1
        ServerName admin.example.com
        DocumentRoot /www/example.com
        <Directory /www/example.com>
              AllowOverride All
              Options FollowSymLinks
        </Directory>
        php_value mbstring.func_overload 0
        DirectoryIndex index.php
</VirtualHost>

答案1

只需在 DocumentRoot(在您的情况下为 /www/example.com)内创建一个名为“advice”的目录,然后在那里安装论坛平台。

另外,为了让 CMS 忽略该目录,您需要将以下内容添加到位于建议内的 .htaccess 中RewriteCond %{REQUEST_FILENAME} !-d

相关内容