我正在学习Yii 2.0 Framework。我像这样配置了urlManager:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site',
],
],
SiteController只有一个动作 - actionIndex(默认值为1)。我想要的只是'mydomain.com'可以访问(所有其他请求导致404错误)。但是现在我可以用多种方式调用“站点/索引”动作:
......等等。我的.htaccess文件是:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if request dosn't start with web add it
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule (.*) $1
# if file or directory dosn't exists go to /web/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
那么如何限制所有这些并使我的应用程序仅使用urlManager规则中直接指定的路径?
答案 0 :(得分:0)
尝试将此添加到规则的顶部(右下方“RewriteEngine On”)
RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^ / [L,R=404]