在我打开urlManager并编写规则之前,Gii生成器工作于
主机名/index.php?r=gii
在那之后,我打开了urlManager主机名/gii不起作用--也许是他写了一条规则?但是怎么做呢?选项
'gii‘=> 'gii’或'gii‘=> 'gii/index',
不工作
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'/' => 'site/index',
'about' => 'site/about',
'contact' => 'site/contact',
'login' => 'site/login',
'entry' => 'site/entry',
'gii' => 'gii',
'country/page/<page:\d+>' => 'country/index',
],
],发布于 2017-07-12 22:01:23
您可以删除gii条目,然后使用默认路由访问gii模块。
或者为它指定一个完整的规则。
'gii/<controller:[a-z-]+>/<action:[a-z-]+>' => 'gii/<controller>/<action>'下面还有一个关于如何删除url的更好的例子参数的/site
发布于 2017-07-13 09:13:42
似乎是您的重写模块导致了问题。
只需在名为.htaccess的应用程序dir根目录创建一个文件,并粘贴此代码即可。
SetEnv HTTP_MOD_REWRITE On
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并删除gii的url规则,因此您的url规则如下所示:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'/' => 'site/index',
'about' => 'site/about',
'contact' => 'site/contact',
'login' => 'site/login',
'entry' => 'site/entry',
'country/page/<page:\d+>' => 'country/index',
],],
现在像这样访问gii:
yourhost/your_app_dir/gii还有一件事是,它只在localhost上工作,用于活动服务器,您需要允许使用ip address进行访问。
就这样。谢谢
https://stackoverflow.com/questions/45062663
复制相似问题