一.在YII的web配置文件中的component设置
'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => false, 'rules' => [ ], ],
二.Nginx配置允许rewrite
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
if (!-e $request_filename){
rewrite ^/(.*) /index.php;
}
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
三.Apache配置
1. 开启 apache 的 mod_rewrite 模块
去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号;
2. 修改 apache 的 AllowOverride
把 AllowOverride None 修改为 AllowOverride All;
3. 在与index.php文件同级目录(web目录)下添加文件“.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
附:
CSRF
<input type="hidden" name="_csrf" value="<?=Yii::$app->request->getCsrfToken();?>">或在controller中设置
public $enableCsrfValidation = false;