我试图设置Yii站点从子目录加载到根域。在我的根站点文件夹中,我只有根目录.htaccess文件和包含Yii站点的子目录“子目录”。我发现,在我的本地环境工作的解决方案:Yii框架:在子目录中使用htaccess的子目录不工作Hostgator
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) subdir/index.php/$1 [QSA,L]
但是当我上传的网站HostGator的它只是不正确 工作例如
,如果我在我的本地环境中使用http://localhost/contact
,打开正确的页面(称为站点/联系人 - 站点控制器和联系人操作,我向urlManager添加了Yii'contact'=>'站点/联系人'规则,因此http://localhost/contact
和http://localhost/site/contact
都可以工作)
如果我使用http://mydomain.com/contact
或(http://mydomain.com/site/contact
)在HostGator的,我得到默认的索引页面(称为网站/指数 - 现场控制器和index动作代替)
当我选择访问子网站一样,直接http://mydomain.com/subdir/contact
它工作正常,但它如果我使用http://mydomain.com/contact
我想我需要以某种方式更改htaccess中的最后一条规则,但不知道如何。谢谢!
对不起,以前的问题是不是我的,它只是帮助我在我的本地环境中解决问题,所以我已经将它添加为参考,但现在将其删除。 HostGator上的这个网站仍然存在问题。谢谢! – gradosevic
@argonius,在你的问题中,你的意思是'mydomain.com/site/contact'能够正常工作,还是'mydomain.com/subdir/site/contact'?你能否介绍一下你的实际场地结构? –
在我的根站点中,我只有这个root htaccess文件和包含我的Yii站点的目录'subdir'。当直接访问我的网站时,我可以使用mydomain.com/subdir/site/contact或mydomain.com/subdir/contact(我为此联系人添加了urlManager规则=>网站/联系人,所以这也会起作用)。我想从这些URL中删除'subdir'关键字,但这似乎不能在HostGator上工作。 – gradosevic