别名在虚拟主机中工作不正确

时间:2017-04-27 09:32:01

标签: php apache yii yii2

我在本地Apache服务器上定义了这样的虚拟主机。

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/wamp/www/yii/frontend/web"
    <Directory "c:/wamp/www/yii/frontend/web">
    AllowOverride all
    Require all granted
    </Directory>
    Alias /admin "c:/wamp/www/yii/backend/web"
    <Directory "c:/wamp/www/yii/backend/web">
    AllowOverride all
    Require all granted
    </Directory>
    ServerName florist
    ErrorLog "logs/yii-error.log"
    CustomLog "logs/yii-access.log" common
</VirtualHost>

网址http://florist/admin正常运行并由/backend/web/index.php处理。

但是网址http://florist/admin/login已由/frontend/web/index.php处理

当我在适当的index.php

中放置带有适当消息的exit()函数时,我发现了这一点

别名可能有什么错误?

2 个答案:

答案 0 :(得分:1)

尝试在admin子文件夹中添加.htaccess:

Options +FollowSymLinks
IndexIgnore */*

RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

答案 1 :(得分:0)

我创建了c:\wamp\www\yii\backend\web

的simlink
  

mklink / D c:\ wamp \ www \ yii \ frontend \ web \ admin   C:\瓦帕\ WWW \ YII \后端\网络

并在虚拟主机定义中添加Options FollowSymLinks。 它解决了一个问题。