如果我在URL中隐藏(通过.htaccess或php代码重定向)index.php名称脚本,则规则将停止工作(404错误)。
这意味着http://site.ru/index.php/test在开始时工作,http://site.ru/test现在无法正常工作 我该怎么办?
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'test'=>'site/index',
),
我添加了它:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
一切都很好但是现在我的404规则无效...
(ErrorDocument 404 /404.html)
的应答
如果你不想要dinamic 404页面(默认在yii网站/错误),那么改变它:
RewriteRule . index.php
要
RewriteRule .* /404.html
答案 0 :(得分:0)
您在main.php中创建的路由规则工作正常,但您没有告诉apache从.htaccess覆盖重定向规则。如果您使用的是Linux,则在/etc/apache2/sites-available/
<Directory "/baepath/to/application">
AllowOverride All
#...
</Directory>
或者更常见的是,您可以通过为项目创建新的目录规则来创建虚拟环境。