怎么在yii2中重写url并隐藏index.php?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
第一步 : 不管是 apache 还是 nginx ,想要隐藏 Index.php 文件,需要打开 urlManager 组件的配置,在进行后续的操作
[
‘components' => [
'urlManager' => [
'enablePrettyUrl' => true,//开启美化URL
'showScriptName' => false,//是否显示脚本名称:index.php,同时应该配置 Web 服务
'enableStrictParsing' => false,//是否开启严格解析
//'suffix' => '.html',//生成带 .html 后缀的 URL
'rules' => [
],
],
],
]
第二步 :
nginx 下 :
配置文件 nginx.conf 内容如下 :
user centos;
worker_processes 4;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format log_json '{ "@timestamp": "$time_local", '
'"remote_addr": "$remote_addr", '
'"referer": "$http_referer", '
'"request": "$request", '
'"status": $status, '
'"bytes": $body_bytes_sent, '
'"agent": "$http_user_agent", '
'"x_forwarded": "$http_x_forwarded_for", '
'"up_addr": "$upstream_addr",'
'"up_host": "$upstream_http_host",'
'"up_resp_time": "$upstream_response_time",'
'"request_time": "$request_time"'
' }';
access_log logs/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 200;
client_max_body_size 200M;
gzip on;
include vhost/*.conf;
}
项目域名的配置整体是放在 vhost 这个目录下面,改目录下其中一个文件的内容
server {
listen 80;
server_name 域名;
# 项目 index.php 地址
root /home/centos/www/youdai-api/bird/web;
access_log logs/youdaiApi.access.log log_json;
error_log logs/youdaiApi.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
apche 下 : 伪静态配置
入口文件的同级目录下,放置 .htaccess 文件
内容如下 :
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
看完上述内容,你们掌握怎么在yii2中重写url并隐藏index.php的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。