Yii使用htaccess在子文件夹上进行项目


Yii project on a subfolder using htaccess

我在cpanel上有一个Yii应用程序,该应用程序位于/home/domain_folder/public_html/portal/Yii_application上,我在Yii_applications文件夹中放入了.htaccess带有以下代码

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

现在我需要在根文件夹/home/domain_folder/publichtml上使用.htaccess重写url并删除url上的/portal/yii_application。我试过这个

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/portal/yii_application
RewriteRule ^(.*)$ portal/yii_application/$1 [L]

但它不起作用——它仍然在我的url上附加portal/yii_application即使我在domain.com/admin/site/login上输入,这是我的config.php url规则

'urlManager' => array(
            'urlFormat' => 'path',
            'showScriptName' => false,
            'rules' => array(
                '<controller:'w+>/<id:'d+>' => '<controller>/view',
                '<controller:'w+>/<action:'w+>/<id:'d+>' => '<controller>/<action>',
                '<controller:'w+>/<action:'w+>' => '<controller>/<action>'
            ),
        ),

我不擅长.htaccess,我已经试着解决这个问题6个小时了。这里有人能帮我吗?

感谢

条件和规则似乎可以。也许public_html目录的AllowOverride指令设置为None,而它只是忽略.htaccess文件。

您应该将其设置为

AllowOverride FileInfo

我不知道cpanel是如何工作的,但通常你可以在/etc/apache2/或/etc/httpd 下的apache配置文件中找到它