我在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配置文件中找到它