让php支持除了.php以外的自定义后缀文件
有时候为了项目安全不想让访问者试出index.php想要隐藏.php后缀改为其他格式,比如改为.myphp .asp .do。当然主流php框架比如laravel、thinkphp、CI等都支持单入口模式,只开放public/index.php。那目前要做的一步就是把index.php也改了。操作如下:
先改php-fpm下面的的配置,比如我的php-fpm项目配置目录是/etc/php-fpm/php-fpm.d/www.conf。找到;security.limit_extensions这行,去掉前面的;改为
<code>
security.limit_extensions = .myphp .asp .do
</code>
然后重启php-fpm,centos7 下面可以用命令 service php-fpm restart。
找到nginx对应的项目配置,比如我的nginx配置是/etc/nginx/conf.d/test.conf,改成这样:
<code>
#省略的其他配置代码........
location / {
root /你的项目根目录;
index myphp.do;
if ( -f $request_filename) {
break;
}
if ( !-e $request_filename) {
rewrite ^/(.*)$ /myphp.do?s=/$1 last;
break;
}
}
location ~* \.do$ {
root /你的项目目录;
fastcgi_index myphp.do;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
</code>
更多>>