针对差别服务器、虚拟空间,运行PHP的环境也有所差别,目前主要分为:Nginx、apache、IIS以及其他服务器。下面分享如何去掉URL上的index.php字符,记得在管理后台清除缓存,对于一些ECS服务器可能要重启nginx等服务!
【Nginx服务器】
在原有的nginx重写文件里新增以下代码片段:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
如果是装置在二级目录下,请复制以下代码:
location /二级目录名/ {
if (!-e $request_filename) {
rewrite ^/二级目录名/(.*)$ /二级目录名/index.php?s=/$1 last;
break;
}
}
如果类似阿里云空间,一个虚拟主机的根目录与二级目录都装置了易优,那么设置如下:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location /二级目录名/ {
if (!-e $request_filename) {
rewrite ^/二级目录名/(.*)$ /二级目录名/index.php?s=/$1 last;
break;
}
}
【apache服务器】
易优cms在apache服务器环境默认自动隐藏index.php入口。
如果发现没隐藏,可以检查根目录.htaccess是不是含有以下白色代码段:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
#http跳转到https
#RewriteCond %{HTTPS} !=on
#RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
如果还是没有隐藏,可以尝试把白色第四行的代码改为加上个问号试试: RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
或者修改为:RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
如果还是不行,继续查看apache是不是开启了URL重写模块 rewrite_module , 然后重启服务就行了。
本网站名称:创码者资源网
本站永久网址: http://www.cmzym.top/
本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
本站为非盈利网站,一切付费内容(包括但不限于会员充值,资源付费),均为用户自愿赞助,且所有资金均用于网站维护
本站资源均收录于互联网,所以不能保证每个细节都符合你的要求,也可能存在未知的BUG与瑕疵,因虚拟资源可复制特性,所以不接受任何理由的退款兑现,请阅 读本站声明和相关条款后再进行支付下载
本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 :1326632303@qq.com 进行删除处理。
本本站采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可
暂无评论内容