【发布时间】:2018-07-25 09:58:52
【问题描述】:
我正在隐藏 index.php 并使用以下代码使 url 友好
.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
在主配置中,
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
),
),
它按预期工作,但问题是当输入不存在的 url 时,它总是重定向到登录页面“site/login”。因此,如果 url 错误/不存在而不是显示 404,它会重定向到登录页面。我做错了什么?
【问题讨论】:
-
检查来宾访问 actionError 的权限。您还可以在 apache 中打开 LogLevel 调试以跟踪重写规则。但这似乎是比重写更多的安全规则问题......
-
谢谢,就是这样。我不知道它是如何逃脱我的。我为站点控制器创建了一个转义过滤器,并且正在为客人过滤 actionerror。与url重写无关。您能否发布答案以便我接受?
标签: php .htaccess yii url-rewriting