Apache虚拟站点和虚拟路径的配置问题

冬瓜真瓜
  • 14

我现在在配置一个项目,这个项目由三个部分组成
1.user
2.admin
3.superadmin
三个部分都是由yii开发的独立站点,现在需求方要求服务器作如下配置:

  • xx.xxx.com直接访问user端
  • xx.xxx.com/admin访问admin站点
  • xx.xxx.com/superadmin访问superadmin站点

第一次我直接将admin和superadmin丢在user文件夹目录下面,但是这样目录管理混乱。
第二次我将user配置为服务器根目录,admin和superadmin放在它的父目录中,apache作虚拟路径跳转。

  • 父目录

    • user
    • admin
    • superadmin

<VirtualHost *:80>
    ServerAdmin admin.example.com
    DocumentRoot "/data/user"
    ServerName ppp.nppp.cn
    ErrorLog "logs/ppp-error_log"
    CustomLog "logs/ppp-access_log" common
    <Directory "/data/user/">
       Options FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.php index.html
        Alias /admin  "/data/admin/"
        <Directory /data/admin/>
          Options FollowSymLinks
          AllowOverride All
          Require all granted
        </Directory>
     </IfModule>
   # <IfModule dir_module>
   #    DirectoryIndex index.php index.html
   #     Alias /  "/data/user/"
   #    <Directory /data/user/>
   #      Options FollowSymLinks
   #      AllowOverride All
   #      Require all granted
   #    </Directory>
   #</IfModule>
 </VirtualHost>

这样导致了很多问题,经常部署的项目找不到css文件,路由出错(我不懂yii,我也不知道是不是开发的锅)等等,请问大家这样的配置有什么好的解决方案吗?

回复
阅读 1.3k
1 个回答

三个目录的同级下,即父目录里创建一个入口文件,在入口文件里对访问的路径进行判断,然后分发

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏